MS SQL Analysis Services | Создать измерение

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

 

Для создания Измерений, следует заранее определить их количество, типы, способы сортировки – т.о. разрабатывается проект куба.

В приведенном примере проект куба разработан и представлен в виде макета.

 

Как пример:

 

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

 

Измерениями такого отчета будут месяцы первой оплаты (строки – ось X) и месяцы последующих оплат (колонки – осьY);

Фактами такого отчета пусть будет количество клиентов (по количеству оплат).

 

Например, в январе 1999-го услугу впервые купили 12 клиентов, из них в следующем месяце (строка ниже) оплатили те же 12; в ноябре 1999-го услуга оплачена впервые 91 клиентом, в следующем месяце из них проплатили только 87:

 

 

Для такого примера проектируются 2 измерения:

Row Number и

Column Nbr (+ Column Name как аттрибут в том же измерении).

По макету это все поля сводной таблицы, кроме полей области Data (Данные).

 

Дополнительно можно создать измерения Region, City, Customer, которые служили бы фильтрами в отчете (в сводной таблице это область – Page (Страница)).

 

Dimensions бывают разных типов. Например, содержащие только атрибуты.

Этот тип Dimension – стандартный, одноуровневый (Star Schema в версии Microsoft® SQL Server™ 2000).

Пример:

 

 

 

Бывает также тип Dimension с несколькими уровнями вложенности – иерархиями. Например, учитывая связь между таблицами Regions и Cities, можно все  уровни положить в один Dimension и он выглядел бы следующим образом:

 

 

Т.о. верхний уровень Region, внутри него соответствующие Cities, в каждом из которых возможны следующие вложения, например, Customers.

 

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

Такой тип Dimension в прошлом назывался Snow Flake (Microsoft® SQL Server™ 2000).

 

Итак, новый Dimension:

 

Открыть AS проект –> Project –> New Dimension

 

В окне Select Build Method указываем если Dimension простой (Create attributes only) или иерархический (Create attributes and hierarchies):

 

 

 

Определяем Data Source View:

 

 

Указываем тип измерения:

 

Standard dimension – для традиционных текстовых;

 

Time dimension – для измерений в формате даты – выбирается, чтобы куб понимал отсчет времени по фактам БД и наполнялся бы данными, исходя их этого понимания (см. также чуть больше о Time Dimension);

 

Server time dimension – для измерений в формате даты – выбирается, чтобы куб понимал отсчет времени, исходя из системных данных сервера

 

 

 

Указываем основную таблицу данных измерения и ключевое поле, по которому вяжутся логически измерения и факты:

 

 

 

Выбираем аттрибуты измерения – поля таблицы, которые мы хотим вывести в куб.

 

Как правило, в куб выводятся только текстовые значения измерений, ID не требуются. Но есть случаи, когда нужно вывести и ID (или любое другое поле с порядковым номером) для последующей сортировки текстовых значений измерения не по самому тексту, а по ID / порядковому номеру.

 

В примере выбираем [Column Nbr], которое выведем в куб и зададим по нему сортировку и [Column Name], которое тоже выводится в куб, согласно макету (макет куба, разработанный в виде сводной таблицы представлен выше):

 

 

 

Указываем тип аттрибута измерения, подходящий для его коррекспонденции со стандартными типами (Regular – традиционный тесктовый):

 

 

 

Указываем если измерение имеет родительско-потомственную связь внутри своих аттрибутов (к такому измерению будет выполнен соответствующий древовидный запрос). В случае, если данная опция указывается, то необхимо задать связуемое поле для Identify the parent attribute in the hierarchical relationship.

Наш пример не содержит такой связи:

 

 

При переходе в следующее окно, определяются и предварительно навариваются иерархии измерения.

Указано или нет, что измерение имеет иерархии, в данном окне должно отразиться позитивное сообщение:

 

 

Важно указать имя измерения, если в проекте куба оно отличается от того, что в таблице.

В нашем случае переименован исходный [LOYALTY REPORT DIM X] на [X]:

 

 

 

Просмотреть данные разработанного Dimension можно после того, как он успешно навариварился (выделите Dimension и выберите Process):

 

 

Просмотр наваренных данных Измерения:

 

 

 

 

Когда все Dimensions куба построены есть повод переходить к построению куба.

 

См. также:

Редактировать / удалить измерение

Свойства измерения

Настроить Storage Mode

Настроить Processing Mode

Свойство Attribute All Member Name

Свойство Error Configuraton

Свойство Unknown Member

 



© 2018 | Анна Петросян | pashelp@yandex.ru