Главная » Microsoft SQL Server, Базы данных » Создание базы данных – ЧАСТЬ 6

0

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

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

Серверное временное измерение является альтернативой обычному, полагающемуся на реляционные таблицы. Оно создается самой службой анализа и не допускает такую гибкость, как традиционный подход. В то же время оно может стать удобным подспорьем в создании простых кубов или быстрых прототипов. Для создания серверного временного измерения запустите мастер измерений, как было описано выше, однако в данном случае оставьте не установленным флажок Use a Dimansion Template, а на второй странице мастера выберите вариант Server Time Dimension.

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

Прочие типы измерений

В дополнение к временному измерению служба анализа распознает больше десяти других типов измерений, в том числе Customers (заказчики), Accounts (расчеты) и Products (товары). Многие из этих типов могут быть созданы с помощью шаблонов, аналогично процессу, описанному для временного измерения. В каждом типе измерения существует множество соответствующих типов атрибутов, отражающих роль этих атрибутов в измерении. Назначение типов измерениям и атрибутам полезно для целей документирования, а также вследствие возможностей, которые они открывают.

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

Измерения типа “родитель-потомок”

Большинство измерений организовано в иерархии, имеющие фиксированное число уровней, однако такое ограничение не подходит для многих практических решений. Например, даже минимальное изменение в структуре организации может вызвать добавление в организационную диаграмму нового уровня. Реляционные базы данных решают эту проблему с помощью рекурсивных таблиц, а служба анализа — с помощью измерений типа “родитель-потомок”.

Рекурсивные таблицы содержат два ключевых столбца, например идентификаторы сотрудника и его начальника. Для построения организационной диаграммы в этом случае нужно начать с президента компании и последовательно исследовать его непосредственных подчиненных, раскрывая, в свою очередь, списки их подчиненных и т.д. Часто такое отношение реализуется с помощью ключей идентификатора сотрудника (первичный ключ) и идентификатора его начальника (внешний ключ). Когда такое отношение существует в таблице источника, мастер измерений предложит соответствующее ему отношение типа “родитель-потомок”. В примере с таблицей сотрудников атрибут идентификатора сотрудника будет конфигурироваться с параметром Usage, для которого установлено значение Key, в то время как в атрибуте идентификатора начальника для этого же параметра будет установлено значение Parent. Среди других важных параметров конфигурации измерения типа “родитель-потомок” можно упомянуть следующие.

?               RootMemberlf. Этот параметр атрибута родителя указывает службе анализа, как идентифицировать верхний уровень иерархии. Среди допустимых значений параметра Parent IsBlank (в поле родителя содержится пустое значение или нуль),

Parent Is Self (значения полей родителя и потомка совпадают) и Parent IsMis sing (строка, на которую ссылается поле родителя, не найдена). По умолчанию установлено значение ParentlsBlankSelfOrMissing (допускающее все три вышеупомянутых варианта).

?               OrderBy. Способ организации отображения иерархии.

?               NamingTemplate. По умолчанию каждый уровень иерархии использует простую систему именования: Level 01, Level 02 и т.д. Изменить схему именования можно, щелкнув на эллипсе в параметре NamingTemplate атрибута родителя и выбрав в открывшемся диалоговом окне шаблон. Уровням можно присвоить собственные имена, а также использовать для них схемы с нумерацией (в последнем случае символом звездочки отмечается местоположение номера в имени).

?               MembersWithData. Этот параметр атрибута родителя управляет отображением не листовых членов вместе с данными. По умолчанию эти значения родителей отображаются на собственном уровне, а затем повторяются на листовом (для параметра установлено значение NonLeafDataVisible). Например, если просматривать куб с использованием измерения сотрудников типа “родитель-потомок”, с отображением объемов продаж торговыми представителями, то имя управляющего отобразится вначале на собственном уровне, а затем будет повторено на уровне сотрудника, чтобы можно было ассоциировать сотрудника с его управляющим. Альтернативное значение, NonLeafDataHidden, не повторяет имя родителя и данные, связанные с ним. Это может вносить разнобой в некоторые представления, так как общая сумма не будет соответствовать сумме всех строк. В частности, в примере с применением измерения сотрудников к кубу объемов продаж общие итоги будут отличаться на объем продаж, совершенных управляющими самостоятельно.

?               MembersWithDataCaption. Если для параметра MembersWithData установлено значение NonLeafDataVisible, то этот параметр атрибута родителя указывает службе анализа, как следует именовать генерируемые листовые члены. По умолчанию этот параметр пуст; в таком случае генерируемые листовые члены будут иметь то же имя. что и их родители. Если вы хотите изменить такой режим, введите любую строку с использованием звездочки, которая при отображении замещается именем родителя. Например, значение параметра * (mgr) приведет к тому, что имя каждого менеджера будет дополняться строкой " (mgr) " .

?               UnaryOperatorColumn. Эта дополнительная функция сведения часто используется в измерениях расчетов, позволяя значениям, связанным с разными типами счетов, в случае необходимости добавляться к родительским итогам или вычитаться из них. Установленный в атрибуте родителя, этот параметр идентифицирует столбец в таблице источника данных, определяющий, как данное значение участвует в формировании итогов. Ожидается, что данный столбец будет содержать знак “плюс” в элементах, которые следует прибавить, знак “минус” — в вычитаемых элементах и тильду — в игнорируемых. Этот столбец также может содержать символ звездочки для умножения значения на текущий частичный итог или символ косой черты для деления значения на частичный итог, однако данные операторы дают разные результаты в зависимости от того, какие значения аккумулируются первыми. Для управления порядком операций можно в измерение типа “родитель-потомок” добавить еще один столбец в форме атрибута с типом последовательности. Пустые операторы интерпретируются как операторы суммирования.

После конфигурирования отношения “родитель-потомок” атрибут родителя обеспечивает многоуровневое представление данных измерения. В то же время доступны все остальные атрибуты измерения — они работают в обычном режиме. Приведенный выше список операций подстройки измерения применим и для типа “родитель-потомок”, за исключением того, что атрибут родителя предпочтительнее корректировать в самом измерении, а не в представлении источника данных, учитывая его уникальный характер использования.

Тонкая настройка измерений

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

Уровень иерархии (АН) и члены, заданные по умолчанию

Уровень иерархии (All), помещаемый в ее корень по умолчанию, представляет всех членов этой иерархии. Во время запроса этот уровень позволяет включить всех членов иерархии, не перечисляя каждого из них в отдельности. На самом деле любая иерархия, не участвующая в запросе явно, включается в нее неявно, используя уровень (АН). Например, запрос, возвращающий объем продаж товаров в разрезе регионов, неявно делит итоги по всем годам, по всем месяцам, по всем заказчикам и т.п.

По умолчанию уровень (All) называется All, что вполне практично и чего достаточно для большинства приложений. Однако этому уровню можно присвоить и другое имя, указав его в значении параметра AttributeAIIMemberName измерения или в параметре AIIMemberName пользовательской иерархии. Например, верхний уровень измерения сотрудников можно именовать как Everyone.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии