Определение степени гранулярности измерения в группе мер
Для разных целей пользователям может понадобиться измерять данные фактов с разной степенью гранулярности или точности. Например, сведения о продажах через посредников или о продажах через Интернет могут записываться каждый день, в то время как данные о квотах продаж могут существовать только для уровня месяца или квартала. В таких случаях пользователям требуется, чтобы измерение времени обладало разной степенью гранулярности для каждой из этих разных таблиц фактов. Определить новое измерение базы данных как измерение времени с другой степенью гранулярности проще всего с помощью служб Службы Analysis Services.
По умолчанию, если измерение используется в группе мер, службы Службы Analysis Services выполняют грануляцию данных в этом измерении на основе ключевого атрибута измерения. Например, если измерение времени включено в группу мер и применяемая по умолчанию степень гранулярности измерения времени составляет один день, то применяемая по умолчанию степень детализации этого измерения в группе мер также равна одному дню. Это применимо во многих случаях, например для групп мер Internet Sales и Товарооборот посредников в этом учебнике. Но когда такое измерение включается в иные типы групп мер, такие как квоты продаж или группа бюджетных показателей, более подходящей степенью гранулярности будет месяц или квартал.
Чтобы указать степень гранулярности измерения куба, которая отличается от используемой по умолчанию, следует изменить атрибут гранулярности данного измерения куба как применяемого в конкретной группе мер на вкладке Использование измерений в конструкторе кубов. При изменении степени детализации измерения в конкретной группе мер на атрибут, отличный от ключевого атрибута данного измерения, необходимо обеспечить прямую или косвенную связь всех остальных атрибутов в этой группе мер с новым атрибутом гранулярности. Для этого следует указать связи атрибутов между другими атрибутами и атрибутом, заданным как атрибут гранулярности для этой группы мер. В этом случае следует указать дополнительные связи атрибутов, не удаляя существующие связи между атрибутами. Атрибут, указанный как атрибут гранулярности, становится ключевым атрибутом в группе мер для оставшихся атрибутов измерения. Если требуемые связи атрибутов не указаны, в службах Службы Analysis Services статистические вычисления будут вестись неверно, что демонстрируют задачи данного занятия.
Дополнительные сведения см. в разделе Связи измерений, Определение обычной связи и ее свойств.
В задачах данного раздела требуется добавить группу мер Sales Quotas и определить помесячную степень гранулярности измерения даты в этой группе мер. Затем предстоит определить связи между атрибутом месяца и другими атрибутами измерения, чтобы обеспечить правильность статистических вычислений в службах Службы Analysis Services.
Добавление таблиц и определение группы мер Sales Quotas
Добавление таблиц и определение группы мер Sales Quotas
Перейдите в конструктор представлений источника данных к представлению источника данных DW Adventure Works.
Щелкните правой кнопкой мыши панель Организатор схем, выберите команду Создать диаграмму и укажите Sales Quotas в качестве имени новой диаграммы. Дополнительные сведения см. в разделе Работа с диаграммами в представлении источника данных (службы Analysis Services).
Перетащите таблицы Employee, Sales Territory и Date из панели Таблицы в панель Диаграмма.
Добавьте таблицу FactSalesQuota в панель Диаграмма, щелкнув правой кнопкой мыши в панели Диаграмма и выбрав команду Добавить или удалить таблицы.
Обратите внимание, что таблица SalesTerritory связана с таблицей FactSalesQuota через таблицу Сотрудник.
Просмотрите столбцы таблицы FactSalesQuota и исследуйте данные в этой таблице.
Обратите внимание, что внутри этой таблицы гранулярность данных равна календарному кварталу, что является наиболее подробным уровнем детализации в таблице FactSalesQuota.
В конструкторе представлений источника данных измените свойство FriendlyName таблицы FactSalesQuota на SalesQuotas.
Переключитесь в конструктор кубов на куб учебника по службам Службы Analysis Services и откройте вкладку Структура куба.
Щелкните правой кнопкой мыши панель Меры, выберите команду Создать группу мер, в диалоговом окне Создание группы мер щелкните SalesQuotas и нажмите кнопку ОК.
Группа мер Sales Quotas будет отображена в панели Меры. В панели Измерения обратите внимание, что определено новое измерение куба Date на основе измерения Date базы данных. Определение нового измерения куба по времени объясняется неопределенностью в вопросе, какое из существующих связанных со временем измерений куба должно быть связано в службах Службы Analysis Services со столбцом DateKey таблицы фактов FactSalesQuota, которая лежит в основе группы мер Sales Quotas. Это будет исправлено позже, в другой задаче текущего раздела.
Раскройте группу мер Sales Quotas.
В панели Меры выберите элемент Sales Amount Quota и в окне свойств задайте для свойства FormatString значение Валюта.
Выберите меру Sales Quotas Count и в окне свойств задайте для свойства FormatString значение #,#.
Удалите меру Calendar Quarter из группы мер Sales Quotas.
В службах Службы Analysis Services будет определено, что лежащий в основе показателя Calendar Quarter столбец содержит меры. Однако данный столбец и столбец CalendarYear содержат значения, которые будут использованы позднее в этом разделе для связывания группы мер Sales Quotas с измерением даты.
В панели Меры щелкните правой кнопкой мыши группу мер Sales Quotas и выберите команду Создать меру. Дополнительные сведения см. в разделе Определение мер.
Будет открыто диалоговое окно Создать меру, содержащее доступные исходные столбцы для меры с типом использования Sum.
В диалоговом окне Создать меру в списке Использование выберите значение Подсчет различных объектов, убедитесь, что в списке Исходная таблица выбрана таблица SalesQuotas, выберите в списке Исходный столбец столбец EmployeeKey и нажмите кнопку ОК.
Обратите внимание, что это измерение создается в новой группе мер с именем Sales Quotas 1. Меры числа различных объектов в SQL Server создаются в их собственных группах мер, чтобы повысить скорость обработки.
Задайте для свойства Name меры Employee Key Distinct Count значение Sales Person Count, а для свойства FormatString введите значение #,#.
Просмотр мер в группе Sales Quota по датам
Просмотр мер в группе Sales Quota по датам
В меню Построение выберите команду Развернуть Analysis Services Tutorial.
После успешного завершения развертывания в конструкторе кубов, где открыт куб учебника по службам Службы Analysis Services, перейдите на вкладку Браузер и нажмите кнопку Повторное соединение.
Очистите все иерархии и меры в области Данные, а затем очистите все члены измерения на панели Фильтры.
Разверните группу мер Квоты продаж в панели метаданных и добавьте в область данных меру Квота суммы продаж.
Добавьте пользовательскую иерархию Sales Territory измерения Sales Territory в область столбцов.
Обратите внимание, что измерение куба Sales Territory ни прямо, ни косвенно не связано с таблицей фактов квот продаж, как показано на следующем рисунке.
.gif)
В следующей задаче этого раздела будет определена ссылочная связь измерений между данным измерением и данной таблицей фактов.
В панели Данные щелкните стрелку вниз рядом с элементом Sales Territory Group и снимите все флажки, кроме флажка North America, чтобы изменить элементы измерения, отображаемые в элементе Sales Territory Group, на North America.
В панели метаданных раскройте узел Date.
Добавьте в раздел строк пользовательскую иерархию Date.Fiscal Date, а затем щелкните стрелку вниз рядом с элементом Fiscal Year панели Данные и снимите все флажки, за исключением FY 2004, чтобы отобразить данные только для финансового года 2004.
В панели Данные последовательно раскройте финансовый год FY 2004, первое полугодие H1 FY 2004, первый квартал Q1 FY 2004 и месяц July 2003 (Июль 2003).
Обратите внимание, что на уровне Month появился только элемент July 2003 (Июль 2003) вместо элементов July, 2003 (Июль 2003), August, 2003 (Август 2003) и September, 2003 (Сентябрь 2003) уровня Month, а на уровне Date появился только один элемент — July 1, 2003 (1 июля 2003) вместо всех дней июля (31). Это обусловлено тем, что для данной таблицы фактов степень гранулярности установлена на уровне квартала, а степень гранулярности для измерения Time установлена на уровне дня. Это будет изменено позже, в следующей задаче данного раздела.
Кроме того, обратите внимание, что значение Sales Amount Quota на уровнях месяца и дня равно соответствующему значению на уровне квартала и составляет 13 733 000,00 доллара США. Это связано с тем, что самый подробный уровень данных для группы мер «Квоты продаж» соответствует кварталу. Это поведение будет изменено на занятии 6.
На следующем рисунке показаны значения элемента Sales Amount Quota.
.gif)
Определение свойств использования измерений для группы мер Sales Quotas
Определение свойств использования измерений для группы мер Sales Quotas
Откройте в конструкторе измерений измерение Сотрудник, щелкните правой кнопкой мыши столбец SalesTerritoryKey в панели Представление источника данных и выберите команду Создать атрибут из столбца.
В панели Атрибуты выберите атрибут SalesTerritoryKey и в окне свойств задайте для свойства AttributeHierarchyOptimizedState значение NotOptimized, а для свойств AttributeHierarchyVisible и AttributeHierarchyOrdered — значение False.
Этот атрибут необходим для связи измерения Территория продаж с группами мер Квоты продаж и Квоты продаж 1 в качестве ссылочного измерения.
В конструкторе кубов выберите куб Службы Analysis Services Tutorial и откройте вкладку Использование измерений, а затем просмотрите использование измерения в группах мер Sales Quotas и Sales Quotas 1.
Обратите внимание, что измерения куба Employee и Date соединены с группами мер Sales Quotas и Sales Quotas 1 обычными связями. Кроме того, обратите внимание, что измерение куба Территория продаж не связано ни с одной из этих групп мер.
Щелкните ячейку на пересечении группы мер Квоты продаж и измерения Территория продаж, затем нажмите кнопку обзора (...). Будет открыто диалоговое окно Задание связи.
В списке Выберите тип связи выберите значение Ссылочная.
В списке Промежуточное измерение выберите значение Employee.
В списке Атрибут ссылочного измерения выберите значение Sales Territory Region.
В списке Атрибут промежуточного измерения выберите значение Sales Territory Key. (Ключевым столбцом атрибута «Регион территории продаж» является столбец SalesTerritoryKey.)
Убедитесь, что установлен флажок Материализовать.
Нажмите кнопку ОК.
Щелкните ячейку на пересечении группы мер Квоты продаж 1 и измерения Территория продаж, затем нажмите кнопку обзора (...). Будет открыто диалоговое окно Задание связи.
В списке Выберите тип связи выберите значение Ссылочная.
В списке Промежуточное измерение выберите значение Employee.
В списке Атрибут ссылочного измерения выберите значение Sales Territory Region.
В списке Атрибут промежуточного измерения выберите значение Sales Territory Key. (Ключевым столбцом атрибута «Регион территории продаж» является столбец SalesTerritoryKey.)
Убедитесь, что установлен флажок Материализовать.
Нажмите кнопку ОК.
Удалите измерение куба Date.
Вместо четырех связанных со временем измерений куба в качестве даты, относительно которой будут распределяться квоты продаж, будет использоваться измерение куба Order Date из группы мер Sales Quotas. Это измерение куба также будет использоваться как первичное измерение даты в кубе.
В списке Измерения переименуйте измерение куба Order Date в Date.
Переименование измерения куба Order Date на Date упрощает его восприятие как первичного измерения даты в этом кубе.
Нажмите кнопку обзора (…) в ячейке на пересечении группы мер Sales Quotas и измерения Date.
В диалоговом окне Определение связи в списке Выберите тип связи выберите значение Обычная.
В списке Атрибут гранулярности выберите значение Calendar Quarter.
Будет выведено предупреждение, что в качестве атрибута гранулярности выбран неключевой атрибут и необходимо убедиться, что все остальные атрибуты прямо или косвенно связаны с этим атрибутом гранулярности, указав их в качестве свойств элементов.
В области Связи диалогового окна Задание связи соедините столбцы измерений CalendarYear и CalendarQuarter из таблицы, лежащей в основе измерения Date куба, со столбцами CalendarYear и CalendarQuarter из таблицы, лежащей в основе группы мер Sales Quota, а затем нажмите кнопку ОК.
ПримечаниеАтрибут Calendar Quarter определен как атрибут гранулярности для измерения Date куба в группе мер Sales Quotas, однако атрибут Date продолжает оставаться атрибутом гранулярности для групп мер Internet Sales и Reseller Sales.
Повторите предыдущие четыре шага для группы мер Sales Quotas 1.
Определение связей атрибутов между атрибутом Calendar Quarter и другими атрибутами измерения даты
Определение связи между атрибутом Calendar Quarter и другими атрибутами измерения даты
Откройте в конструкторе измерений измерение Date и перейдите на вкладку Связи атрибутов.
Обратите внимание, что, хотя атрибут Календарный год связан с атрибутом Календарный квартал через атрибут Календарное полугодие, атрибуты финансового календаря связаны только друг с другом. Они не соединены с атрибутом Календарный квартал, и потому статистические вычисления в группе мер Квоты продаж будут выполняться неправильно.
На диаграмме щелкните правой кнопкой мыши атрибут Calendar Quarter, а затем выберите команду Создать связь атрибутов.
В диалоговом окне Создание связи атрибутов поле Исходный атрибут имеет значение Calendar Quarter. Установите поле Связанный атрибут в значение Fiscal Quarter.
Нажмите кнопку ОК.
Обратите внимание на предупреждение о том, что измерение Date содержит одну или несколько избыточных связей атрибутов, которые могут помешать статистической обработке данных, если в кубе в качестве атрибута гранулярности используется неключевой атрибут.
Удалите связь атрибута Финансовый квартал с атрибутом Название месяца.
В меню Файл выберите команду Сохранить все.
Просмотр мер в группе Sales Quota по датам
Просмотр мер в группе Sales Quota по датам
В меню Построение выберите команду Развернуть Analysis Services Tutorial.
После успешного завершения развертывания перейдите на вкладку Браузер конструктора кубов для куба учебника по службам Службы Analysis Services и нажмите кнопку Повторное соединение.
Обратите внимание, что мера Sales Amount Quota правильно распределена по измерениям Sales Territory, потому что измерение Sales Territory теперь определено как ссылочное измерение.
Добавьте пользовательскую иерархию Date.FiscalDate в область строк из измерения куба Date, а затем щелкните стрелку вниз рядом с элементом Fiscal Year и снимите все флажки, за исключением FY 2004, чтобы вывести данные только за финансовый год 2004.
Нажмите кнопку «ОК».
Последовательно раскройте элементы FY 2004, H1 FY 2004 и Q1 FY 2004.
Обратите внимание, что меры из группы Sales Quota правильно распределены по измерениям. Кроме того, обратите внимание, что отображаются все элементы уровня финансового квартала, при этом значение каждого из элементов соответствует уровню квартала. Это обусловлено тем, что для данной таблицы фактов степень гранулярности установлена на уровне квартала, а степень гранулярности для измерения Date также установлена на уровне квартала. На занятии 6 рассматривается, как распределять квартальную сумму пропорционально по месяцам.
На следующем рисунке показан конструктор кубов для куба учебника по службам Службы Analysis Services, при этом группа мер Sales Quota правильно распределена по измерениям.
.gif)