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 куба построены есть повод переходить к построению куба.
См. также: ➢Редактировать / удалить измерение ➢Свойство Attribute All Member Name
|