Создание SSAS иерархий с несколькими таблицами измерений

Tags: SSAS

Если вам необходимо создать иерархию с использованием нескольких измерений, вы можете  использовать именованный запрос или материализованное представление,  потому что SSAS не имеет возможности читать столбцы / атрибуты из нескольких измерений. Давайте посмотрим, как это будет происходить в базе данных AdventureWorks.

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

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

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

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

Начнем с чистого листа внутри решения AdventureWorks DW SSAS. Щелкните правой кнопкой мыши на Dimensions в  Solution Explorer  и выберите New Dimension.

Далее вам откроется  Dimension Wizard. Выберите “Use an existing table”.

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

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

Затем выберите ключи атрибута. Это столбцы, которые мы будем использовать в иерархии, чтобы связывать их друг с другом.


Заметьте, что мы используем Product Subcategory Alternate Key вместо Primary Key, который установлен в таблице. имеет такое же целочисленное значение, что и Primary Key.  Это намеренно используется для линейной зависимости атрибутов вместо вертикальной.

Здесь вы можете завершить работу мастера. Назовите свое измерение и нажмите «Готово». Он будет заполнять все в представлении конструктора измерений.

Обратите внимание, что мы перечислили свои ключевые значения в атрибутах и на моей панели Data Source View, в нашем источнике данных есть три физических таблицы, которые мы будем использовать.

Затем мы дадим нашим столбцам несколько удобных имен. Давайте заменим Product key на Product, Product Category Key на Category, а Product Subcategory Key на SubCategory.

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

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

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

Ваши отношения атрибутов должны быть линейными и напоминать подход “сверху вниз”:

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

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

Цель этой статьи - показать, как вы можете создать иерархию, используя несколько таблиц. Можно ли это сделать в SSAS? Да, это можно сделать; однако для этого требуется наличие правильной структуры, которая является схемой “снежинки”. У нее есть свои плюсы и минусы, но мы можем затронуть их в другой статье. Надеемся, это поможет разработчикам BI правильно построить свои иерархии, когда нужно использовать более одной таблицы.

 

No Comments

Add a Comment