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


Автоматическое группирование элементов атрибута

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

Свойство DiscretizationMethod определяет, ведется ли группирование с помощью служб Analysis Services, а также задает тип используемого группирования. По умолчанию в службах Analysis Services группирование не выполняется. При включении автоматического группирования можно настроить параметры служб Analysis Services таким образом, чтобы выполнялся автоматический выбор оптимального метода группирования, основанного на структуре данного атрибута, либо выбрать один из алгоритмов группирования в следующем списке:

  • EqualAreas
    В службах Analysis Services диапазоны групп создаются таким образом, что элементы измерения распределяются по группам пропорционально.
  • Clusters
    В службах Analysis Services группы создаются путем проведения одномерной кластеризации входных значений, используя метод кластеризации К-средних с нормальным распределением. Эта функция применима только в отношении числовых столбцов.

После выбора метода группирования необходимо указать количество групп, используя свойство DiscretizationBucketCount. Дополнительные сведения см. в разделе Группирование элементов атрибутов (дискретизация).

В ходе выполнения задач данного раздела будут опробованы следующие критерии группирования: значение годового дохода в измерении Customer; количество часов отпуска по болезни в измерении Employees; данные о количестве часов отпуска сотрудников в измерении Employees. Затем предстоит выполнить обработку куба учебника по службам Analysis Services и просмотреть результаты группирования элементов. На конечной стадии будут изменены свойства групп элементов, чтобы выявить эффект от изменения типа группирования.

Группирование элементов иерархии атрибутов в измерении Customer

Группирование элементов иерархии атрибутов в измерении Customer

  1. В обозревателе решений дважды щелкните элемент Customer в папке Измерения. Будет открыт конструктор измерений для измерения Customer.

  2. В области Представление источника данных щелкните правой кнопкой мыши таблицу Customer и выберите команду Просмотреть данные.

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

  3. Закройте вкладку Просмотр таблицы DimCustomer.

  4. В области Атрибуты выберите атрибут Yearly Income.

  5. В окне свойств измените значение свойства DiscretizationMethod на Automatic, а значение свойства DiscretizationBucketCount на 5.

    На следующем рисунке показаны измененные свойства атрибута Yearly Income.

    Измененные свойства столбца Yearly Income

Группирование элементов иерархии атрибута в измерении Employee

Группирование элементов иерархии атрибута в измерении Employee

  1. В конструкторе измерений откройте измерение Employee.

  2. В области Представление источника данных щелкните правой кнопкой мыши таблицу Employee и выберите команду Просмотреть данные.

    Обратите внимание на значения столбцов SickLeaveHours и VacationHours.

  3. Закройте вкладку Просмотр таблицы DimEmployee.

  4. В области Атрибуты выберите атрибут Sick Leave Hours.

  5. В окне свойств измените значение свойства DiscretizationMethod на Clusters, а значение свойства DiscretizationBucketCount на 5.

  6. В области Атрибуты выберите атрибут Vacation Hours.

  7. В окне свойств измените значение свойства DiscretizationMethod на Equal Areas, а значение свойства DiscretizationBucketCount на 5.

Просмотр измененных иерархий атрибутов

Просмотр измененных иерархий атрибутов

  1. В меню Построение среды Business Intelligence Development Studio выберите команду Развернуть Analysis Services Tutorial.

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

  3. Удалите все уровни иерархии Employees из раздела поля строк области Данные и все меры из области Данные.

  4. Добавьте меру Internet Sales-Sales Amount, которая появится в разделе данных области Данные.

  5. В области Метаданные раскройте измерение Product, а затем перетащите пользовательскую иерархию Product Model Lines в область Перетащите сюда поля строк области Данные.

  6. В области Метаданные раскройте измерение Customer, разверните папку отображения Demographic и перетяните иерархию атрибута Yearly Income в область Перетащите сюда поля столбцов.

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

  7. Удалите иерархию атрибута Yearly Income из области столбца и удалите меру Internet Sales-Sales Amount из области Данные.

  8. Добавьте меру Reseller Sales-Sales Amount в область данных.

  9. В области Метаданные раскройте элемент Employee,раскройте элемент Organization, щелкните правой кнопкой мыши элемент Sick Leave Hours и выберите команду Добавить в область столбцов.

    Обратите внимание, что все продажи были сделаны сотрудниками, включенными в одну из двух групп. Чтобы просмотреть остальные три группы, в которых находятся данные о сотрудниках без продаж, щелкните правой кнопкой мыши область данных и выберите пункт Показывать пустые ячейки. Кроме того, обратите внимание, что сотрудники, отсутствовавшие по болезни от 32 до 42 часов, сделали существенно больше продаж, чем сотрудники, отсутствовавшие от 20 часов до 31 часа.

    На приведенном ниже рисунке приведена зависимость объемов продаж от количества часов отпуска по болезни.

    Таблица Sales, разбитая на измерения по количеству часов отпуска сотрудников по болезни

  10. Удалите иерархию атрибута Sick Leave Hours из раздела столбцов области Данные.

  11. Добавьте столбец Vacation Hours к разделу столбцов области Данные.

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

Изменение свойств группирования и просмотр результата изменений

Изменение свойств группирования и просмотр результата внесенных изменений

  1. Переключитесь в конструктор измерений на измерение Employee и выберите в области Атрибуты атрибут Vacation Hours.

  2. В окне свойств измените значение свойства DiscretizationBucketCount на 10.

  3. В меню Построение среды BI Development Studio выберите команду Развернуть Analysis Services Tutorial.

  4. После завершения развертывания переключитесь обратно в конструктор кубов на куб учебника по службам Analysis Services.

  5. На вкладке Обозреватель нажмите кнопку Повторное подключение и просмотрите результаты изменения метода группирования.

    Обратите внимание, что созданы три группы элементов атрибута Vacation Hours, в которых содержатся данные об объемах продаж продукции. В остальных 7 группах содержатся элементы без данных о продажах.

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

Скрытие и отключение иерархий атрибутов

См. также

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

Группирование элементов атрибутов (дискретизация)

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

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