Поделиться через


Определение степени гранулярности измерения в группе мер

Для разных целей пользователям может понадобиться измерять данные фактов с разной степенью гранулярности или точности. Например, сведения о продажах через посредников или о продажах через Интернет могут записываться каждый день, в то время как данные о квотах продаж могут существовать только для уровня месяца или квартала. В таких случаях пользователям требуется, чтобы измерение времени обладало разной степенью детализации для каждой из этих разных таблиц фактов. Самый простой способ определить новое измерение базы данных как измерение времени с другой степенью детализации — воспользоваться службами Microsoft SQL Server 2005 Analysis Services (SSAS).

В соответствии с настройкой по умолчанию в службах SQL Server 2005 Analysis Services, если измерение используется в группе мер, степень детализации данных в этом измерении основана на ключевом атрибуте этого измерения. Например, если измерение времени включено в группу мер и применяемая по умолчанию степень детализации измерения времени составляет один день, то применяемая по умолчанию степень детализации этого измерения в группе мер также равна одному дню. Это применимо во многих случаях, например для групп мер Internet Sales и Reseller Sales в этом учебнике. Но когда такое измерение включается в иные типы групп мер, такие как квоты продаж или группа бюджетных показателей, более подходящей степенью детализации будет месяц или квартал.

Чтобы указать степень детализации измерения куба, которая отличается от используемой по умолчанию, следует изменить атрибут гранулярности данного измерения куба как применяемого в конкретной группе мер на вкладке Использование измерений в конструкторе кубов. При изменении степени детализации измерения в конкретной группе мер на атрибут, отличный от ключевого атрибута данного измерения, необходимо обеспечить прямую или косвенную связь всех остальных атрибутов в этой группе мер с новым атрибутом гранулярности. Для этого следует указать связи атрибутов между другими атрибутами и атрибутом, заданным как атрибут гранулярности для этой группы мер. В этом случае следует указать дополнительные связи атрибутов, не удаляя существующие связи между атрибутами. Атрибут, указанный как атрибут гранулярности, становится ключевым атрибутом в группе мер для оставшихся атрибутов измерения. Если требуемые связи атрибутов не указаны, в службах Analysis Services статистические вычисления будут вестись неверно, что демонстрируют задачи данного занятия.

Дополнительные сведения см. в разделе Связи измерений, Определение обычной связи и ее свойств.

В задачах данного раздела требуется определить группу мер Sales Quotas и задать помесячную степень гранулярности измерения Time для этой группы мер. Затем предстоит определить связи между атрибутом месяца и другими атрибутами измерения, чтобы обеспечить правильность статистических вычислений в службах Analysis Services.

Добавление таблиц и определение группы мер Sales Quotas

Добавление таблиц и определение группы мер Sales Quotas

  1. Перейдите в конструктор представлений источника данных к представлению источника данных DW Adventure Works.

  2. Щелкните правой кнопкой мыши область Организатор схем, выберите команду Создать диаграмму и укажите Sales Quotas в качестве имени новой диаграммы. Дополнительные сведения см. в разделе Работа с диаграммами в представлении источника данных (службы Analysis Services).

  3. Перетащите таблицы Employee, Sales Territory и Time из области Таблицы в область Диаграмма.

  4. Добавьте таблицу FactSalesQuota в область Диаграмма, щелкнув правой кнопкой мыши области Диаграммы и выбрав команду Добавление или удаление таблиц.

    Обратите внимание, что таблица SalesTerritory связана с таблицей FactSalesQuota через таблицу Employee.

  5. Просмотрите столбцы таблицы FactSalesQuota и исследуйте данные в этой таблице.

    Обратите внимание, что внутри этой таблицы гранулярность данных равна календарному кварталу, что является наиболее подробным уровнем детализации в таблице FactSalesQuota.

  6. В конструкторе представлений источника данных измените свойство FriendlyName таблицы FactSalesQuota на SalesQuotas.

  7. Переключитесь в конструктор кубов на куб учебника по службам Analysis Services и откройте вкладку Структура куба.

  8. Щелкните правой кнопкой мыши область Меры, выберите команду Создать группу мер, в диалоговом окне Создание группы мер щелкните SalesQuotas и нажмите кнопку ОК.

    Группа мер Sales Quotas будет отображена в области Меры. В области Измерения обратите внимание, что определено новое измерение куба Time на основе измерения Time базы данных. Создание нового измерения куба по времени объясняется неопределенностью в вопросе, какое из существующих связанных со временем измерений куба должно быть связано в службах Analysis Services со столбцом TimeKey таблицы фактов FactSalesQuota, которая лежит в основе группы мер Sales Quotas. Это будет исправлено позже, в другой задаче текущего раздела.

  9. Раскройте группу мер Sales Quotas.

    Обратите внимание, что определены три новые меры.

  10. В области Меры выберите элемент Sales Amount Quota и в окне свойств задайте для свойства FormatString значение Currency.

  11. Выберите меру Sales Quotas Count, и в окне свойств установите для свойства FormatString значение #,#.

  12. Удалите меру Calendar Quarter из группы мер Sales Quotas.

    В службах Analysis Services будет определено, что лежащий в основе меры Calendar Quarter столбец содержит меры. Однако данный столбец и столбец CalendarYear содержат значения, которые будут использованы позднее в этом разделе для связывания группы мер Sales Quotas с измерением Time.

  13. В области Меры щелкните правой кнопкой мыши группу мер Sales Quotas и выберите команду Создать меру. Дополнительные сведения см. в разделе Определение и настройка мер.

    Будет открыто диалоговое окно Создать меру, содержащее доступные исходные столбцы для меры с типом использования Sum.

  14. В диалоговом окне Создать меру в списке Использование выберите значение Подсчет различных объектов, убедитесь, что в списке Исходная таблица выбрана таблица SalesQuotas, выберите в списке Исходный столбец столбец EmployeeKey и нажмите кнопку ОК.

    Обратите внимание, что это измерение создается в новой группе мер с именем Sales Quotas 1. Меры числа различных объектов в службах Microsoft SQL Server 2005 созданы в их собственных группах мер, что позволяет повысить скорость обработки.

  15. Измените значение свойства Name меры Employee Key Distinct Count на Sales Person Count, а затем укажите для свойства FormatString значение #,#.

Просмотр динамики мер в группе Sales Quota

Просмотр динамики мер в группе Sales Quota

  1. В меню Сборка выберите команду Развернуть «Учебник по службам Analysis Services».

  2. После успешного завершения развертывания перейдите на вкладку Обозреватель конструктора кубов для куба учебника по службам Analysis Services и нажмите кнопку Повторное соединение.

  3. Очистите все иерархии и меры в области Данные, а затем очистите все члены измерения на панели Фильтры.

  4. Раскройте группу мер Sales Quotas в области Метаданные и добавьте меру Sales Amount Quota в область данных.

  5. Добавьте пользовательскую иерархию Sales Territory измерения Sales Territory в область столбцов.

    Обратите внимание, что измерение куба Sales Territory ни прямо, ни косвенно не связано с таблицей Fact Sales Quota, как показано на следующем рисунке.

    Измерение куба «Территория продаж»

    В следующей задаче этого раздела будет определена ссылочная связь измерений между данным измерением и данной таблицей фактов.

  6. В области Данные щелкните стрелку вниз рядом с элементом Sales Territory Group и снимите все флажки, кроме флажка North America, чтобы изменить элементы измерения, отображаемые в элементе Sales Territory Group, на North America.

  7. В области Метаданные раскройте измерение Time, а затем раскройте элемент Fiscal.

  8. Добавьте в раздел строк пользовательскую иерархию Time.Fiscal Time, а затем щелкните стрелку вниз рядом с элементом Fiscal Year области Данные и снимите все флажки за исключением FY 2004, чтобы отобразить данные только для финансового года 2004.

  9. В области Данные последовательно раскройте финансовый год 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 доллара США. Это связано с тем, что самый подробный уровень данных для группы мер Sales Quotas соответствует кварталу. Это поведение будет изменено на занятии 6.

    На следующем рисунке показаны значения элемента Sales Amount Quota.

    Значения «Квота на количество продаж»

Определение свойств использования измерений для группы мер Sales Quotas

Определение свойств использования измерений для группы мер Sales Quotas

  1. Откройте конструктор измерений для измерения Employee и добавьте атрибут SalesTerritoryKey, основанный на столбце SalesTerritoryKey таблицы Employee как скрытый, неоптимизированный и неупорядоченный атрибут.

    Этот атрибут необходим для соединения измерения Sales Territory с группами мер Sales Quotas и Sales Quotas 1 в качестве ссылочного измерения.

  2. В конструкторе кубов выберите куб учебника по службам Analysis Services и откройте вкладку Использование измерения, а затем просмотрите использование измерения в группах мер Sales Quotas и Sales Quotas 1.

    Обратите внимание, что измерения куба Employee и Time соединены с группами мер Sales Quotas и Sales Quotas 1 через обычные связи. Кроме того, обратите внимание, что измерение куба Sales Territory не соединено ни с одной из этих групп мер.

  3. Определите материализованную ссылочную связь между измерением Sales Territory и группой мер Sales Quotas, указав в качестве промежуточного измерения Employee, в качестве атрибута ссылочного измерения — Sales Territory Region, а в качестве атрибута промежуточного измерения — атрибут SalesTerritoryKey. (Ключевым столбцом атрибута Sales Territory Region является столбец SalesTerritoryKey).

  4. Повторите предыдущий шаг для группы мер Sales Quotas 1.

  5. Удалите измерение куба Time.

    Вместо четырех связанных со временем измерений куба в качестве даты, относительно которой будут распределяться квоты продаж, будет использоваться измерение куба Order Date из группе мер Sales Quotas. Это измерение куба будет также использоваться как первичное измерение дат в кубе.

  6. В списке Измерения переименуйте измерение куба Time (Order Date) в Time (Date).

    Переименование измерения куба Order Date на Date упрощает его восприятие как первичного измерения дат в этом кубе.

  7. Нажмите кнопку с многоточием () в ячейке на пересечении группы мер Sales Quotas и измерения Time (Date).

  8. В диалоговом окне Определение связи списка Выбор типа связи выберите значение Обычная.

  9. В списке Атрибут гранулярности выберите значение Calendar Quarter.

    Будет выведено предупреждение, что в качестве атрибута гранулярности выбран неключевой атрибут и необходимо убедиться, что все остальные атрибуты прямо или косвенно связаны с этим атрибутом гранулярности, указав их в качестве свойств элементов.

    На следующем рисунке показано диалоговое окно Задание связи.

    Диалоговое окно «Задание связи»

  10. В области Связи диалогового окна Задание связи соедините столбцы CalendarYear и CalendarQuarter из таблицы, лежащей в основе измерения Time (Date) куба, со столбцами CalendarYear и CalendarQuarter из таблицы, лежащей в основе группы мер Sales Quota, и нажмите кнопку ОК.

    ms166573.note(ru-ru,SQL.90).gifПримечание.
    Атрибут Calendar Quarter определен как атрибут гранулярности для измерения Time (Date) куба в группе мер Sales Quotas, однако атрибут Date продолжает оставаться атрибутом гранулярности для групп мер Internet Sales и Reseller Sales.
  11. Повторите предыдущие четыре шага для группы мер Sales Quotas 1.

    На следующем рисунке показан атрибут Calendar Quarter, определенный как атрибут гранулярности измерения куба Time (Date) для обеих групп мер — Sales Quotas и Sales Quotas 1.

    «Календарный квартал» определяется как атрибут гранулярности

Определение связей атрибутов между атрибутом Calendar Quarter и другими атрибутами измерения Time

Определение связи между атрибутом Calendar Quarter и другими атрибутами измерения Time

  1. Перейдите в конструктор измерений, выберите измерение Time и щелкните элемент Структура измерения.

  2. В области Атрибуты раскройте следующие атрибуты:

    • Calendar Quarter;
    • Calendar Semester;
    • Fiscal Quarter;
    • Fiscal Semester.

    Обратите внимание, что, хотя атрибут Calendar Year соединен с атрибутом Calendar Quarter через атрибут Calendar Semester, атрибуты финансового календаря соединены только друг с другом; они не соединены с атрибутом Calendar Quarter, и потому статистические вычисления в группе мер Sales Quotas будут выполняться неправильно.

  3. Перетащите атрибут Fiscal Quarter на тег <новая связь атрибутов> для атрибута Calendar Quarter.

    Обратите внимание на появляющееся предупреждение, в котором говорится, что измерение Time содержит одну или несколько избыточных связей атрибутов, которые могут помешать статистической обработке данных, если в кубе в качестве атрибута гранулярности используется неключевой атрибут. В предупреждении далее предполагается, что связь атрибутов Fiscal Quarter и Month Name не требуется.

  4. Удалите связь атрибута Fiscal Quarter с атрибутом Month Name.

    Предыдущее предупреждение исчезнет.

Просмотр динамики мер в группе Sales Quota

Просмотр динамики мер в группе Sales Quota

  1. В меню Сборка выберите команду Развернуть «Учебник по службам Analysis Services».

  2. После успешного завершения развертывания перейдите на вкладку Обозреватель конструктора кубов для куба учебника по службам Analysis Services и нажмите кнопку Повторное соединение.

    Обратите внимание, что мера Sales Amount Quota верно распределен по измерениям Sales Territory, потому что измерение Sales Territory теперь определено как ссылочное измерение.

  3. Добавьте пользовательскую иерархию Date.FiscalTime в область строк из измерения куба Date, а затем щелкните стрелку вниз рядом с элементом Fiscal Year и снимите все флажки за исключением FY 2004, чтобы вывести данные только за финансовый год 2004.

  4. Нажмите кнопку «ОК».

  5. Последовательно раскройте элементы FY 2004, H1 FY 2004 и Q1 FY 2004.

    Обратите внимание, что меры из группы Sales Quotas правильно распределены по измерениям. Кроме того, обратите внимание, что отображаются все элементы уровня финансового квартала, при этом значение каждого из элементов соответствует уровню квартала. Такое поведение обусловлено тем, что для таблицы фактов степень детализации указана равной кварталу и степень детализации измерения Time также установлена на уровне квартала. На занятии 6 рассматривается, как распределять квартальную сумму пропорционально по месяцам.

    На следующем рисунке показан конструктор кубов для куба учебника по службам Analysis Services, при этом группа мер Sales Quota правильно распределена по измерениям.

    Группа мер «Квота продаж» правильно разнесена по измерениям

ms166573.note(ru-ru,SQL.90).gifПримечание.
Завершенный проект, созданный на занятии 5, доступен при установке и загрузке обновленных образцов. Дополнительные сведения см. в подразделе «Получение обновленных образцов» раздела Установка образцов.

Следующее занятие

Занятие 6: Определение вычислений

См. также

Другие ресурсы

Связи измерений
Определение обычной связи и ее свойств

Справка и поддержка

Получение помощи по SQL Server 2005