Примечателен тот факт, что все чаще наблюдаются случаи, когда сотрудники бизнес-подразделений создают свои OLAP-кубы на базе Microsoft SQL Server Analysis Services (наступает эпоха Self Services?). Однако ввиду ограниченности ресурсов (в частности, нехватки времени) возникают вопросы по проектированию и применению многомерной модели. Один из вопросов - построение измерения времени (Time Dimension).
Измерение времени - особое измерение, поскольку правильное определение его атрибутов и иерархий влияет на корректность агрегирования мер и результаты MDX-конструкций. В прилагаемом ниже архивном файле проекта приведен пример дизайна измерения времени, основанного на заранее подготовленной таблице реляционной базы данных. SQL-скрипты для формирования списка дат можно взять здесь.
Как видно из рисунка ниже, измерение Даты можно дополнять различными атрибутами (век, знаки зодиака, четные / нечетные даты, сезоны и т.д.), создавать различные богатые иерархии. Для атрибутов необходимо правильно выставить свойства KeyColumns, NameColumn, Type, OrderBy:
Для корректного построения пользовательских иерархий важно правильно определить связи между атрибутами, причем, ввиду "постоянства" дат / месяцев / кварталов связи можно установить жесткими (Rigid):
Для атрибутов, иерархий измерения можно установить перевод(ы) на другие языки. Перевод(ы) (Translations) можно назначить и для элементов атрибутов:
Ниже приведены скриншоты навигации по готовому измерению времени:
Приятного Вам проектирования и путешествия во времени!