Определение ссылочной связи
До сих пор в этом учебнике каждое определенное измерение куба основывалось на таблице, непосредственно связанной с таблицей фактов для группы мер через связь «внешний ключ — первичный ключ». В задачах этого раздела измерение Geography будет связано с таблицей фактов через измерение Reseller, которое называется ссылочным измерением. Это позволяет пользователям распределить товарооборот посредников по географии. Дополнительные сведения см. в разделе Определение ссылочной связи и свойств ссылочной связи.
Распределение показателя «Товарооборот посредников» по измерению «География»
В обозревателе решений щелкните правой кнопкой мыши куб Analysis Services Tutorial в папке Кубы и нажмите кнопку Обзор.
Удалите из области данных все иерархии и убедитесь, что мера Товарооборот посредников — сумма продаж появилась в разделе данных панели данных. Если эта мера на панели данных отсутствует, добавьте ее.
Из измерения География на панели метаданных перетащите определяемую пользователем иерархию География в область Перетащите сюда поля строк на панели данных.
Обратите внимание, что мера Товарооборот посредников — сумма продаж распределена по элементам атрибута Страна или регион в иерархии Регионы неверно. Значение меры Товарооборот посредников — сумма продаж повторяется для каждого элемента атрибута Страна или регион.
Откройте конструктор представлений источника данных для представления источника данных Adventure Works DW 2012.
На панели Организатор диаграмм просмотрите связь между таблицами Geography и ResellerSales.
Обратите внимание, что прямой связи между этими таблицами нет. Однако между ними существует косвенная связь через таблицу Reseller или SalesTerritory.
Дважды щелкните стрелку, представляющую связь между таблицей Geography и Reseller.
Обратите внимание, что в диалоговом окне Изменение связи столбец GeographyKey является первичным ключом в таблице Geography и внешним ключом в таблице Reseller.
Нажмите кнопку Отмена, перейдите в конструктор кубов на куб Службы Analysis Services Tutorial и откройте вкладку Использование измерения.
Обратите внимание, что измерение куба География сейчас не имеет связей ни с группой мер Продажи через Интернет, ни с группой мер Товарооборот посредников.
Нажмите кнопку с многоточием (…) в ячейке Полное имя на пересечении измерения Заказчик и группы мер Продажи через Интернет.
Обратите внимание, что в диалоговом окне Задание связи между таблицей измерения DimCustomer и таблицей группы мер FactInternetSales определена связь с типом обычная, которая основана на столбце CustomerKey в каждой из этих таблиц. Все связи, определенные в этом учебнике до настоящего момента, имели такой тип.
На следующем рисунке изображено диалоговое окно Задание связи с обычной связью между таблицей измерения DimCustomer и таблицей группы мер FactInternetSales.
Нажмите кнопку Отмена.
Нажмите кнопку с многоточием (…) в ячейке без имени на пересечении измерения География и группы мер Товарооборот посредников.
Обратите внимание, что в диалоговом окне Определить связь в настоящее время не определены никакие связи между измерением куба «География» и группой мер «Товарооборот посредников». Невозможно определить обычную связь, поскольку не существует прямой связи между таблицей измерения для измерения «География» и таблицей фактов для группы мер «Товарооборот посредников».
В списке Выберите тип связи выберите значение Ссылочная.
Для определения ссылочной связи указывается измерение, непосредственно связанное с таблицей группы мер, которое называется промежуточным измерением и может использоваться в службах Службы Analysis Services для связи ссылочного измерения с таблицей фактов. Затем следует указать атрибут, который связывает это ссылочное измерение с данным промежуточным измерением.
В списке Промежуточное измерение выберите значение Торговый посредник.
Базовая таблица для измерения «География» связана с таблицей фактов через базовую таблицу для измерения «Торговый посредник».
В списке Атрибут ссылочного измерения выберите значение Ключ «География», а затем попробуйте выбрать Ключ «География» в списке Атрибут промежуточного измерения.
Обратите внимание, что параметр Ключ «География» не отображается в списке Атрибут промежуточного измерения. Это обусловлено тем, что столбец GeographyKey не определен в качестве атрибута измерения Торговый посредник.
Нажмите кнопку Отмена.
В следующей задаче предстоит решить эту проблему, определив атрибут, основанный на столбце GeographyKey в измерении «Торговый посредник».
Определение атрибута промежуточного измерения и ссылочной связи измерений
Откройте измерение Торговый посредник в конструкторе измерений и просмотрите столбцы в таблице Reseller на панели Представление источника данных, а также определенные атрибуты в измерении Торговый посредник на панели Атрибуты.
Обратите внимание, что, хотя GeographyKey определен как столбец в таблице Reseller, в измерении «Торговый посредник», основанном на этом столбце, атрибуты измерения не определены. «Geography» определена как атрибут измерения в измерении «География», поскольку это ключевой столбец, связывающий базовую таблицу для этого измерения с таблицей фактов.
Чтобы добавить атрибут Географический ключ в измерение Торговый посредник, щелкните правой кнопкой столбец GeographyKey на панели Представление источника данных и выберите команду Создать атрибут из столбца.
На панели Атрибуты выберите атрибут Географический ключ и в окне свойств задайте для свойства AttributeHierarchyOptimizedState значение NotOptimized, а для свойств AttributeHierarchyOrdered и AttributeHierarchyVisible — значение False.
Атрибут «Ключ "География"» в измерении «Торговый посредник» будет использоваться только чтобы связать измерение «География» с таблицей фактов «Товарооборот посредников». Поскольку он не будет использоваться для навигации и просмотра, не имеет смысла определять его как видимый. Помимо этого, упорядочение и оптимизация иерархии атрибута отразились бы на производительности обработки данных только отрицательно. Однако, чтобы служить связью между двумя измерениями, этот атрибут должен быть активирован.
Перейдите в конструктор кубов на куб Службы Analysis Services Tutorial, откройте вкладку Использование измерения и нажмите кнопку с многоточием (…) на пересечении группы мер Товарооборот посредников и измерения куба География.
В списке Выберите тип связи выберите значение Ссылочная.
В списке Промежуточное измерение выберите значение Торговый посредник.
В списке Атрибут ссылочного измерения выберите Ключ «География», а затем выберите Ключ «География» в списке Атрибут промежуточного измерения.
Обратите внимание, что установлен флажок Материализовать. Это является установкой по умолчанию для многомерных измерений OLAP (MOLAP). Материализация связи атрибута изменения заставляет значение связи между таблицей фактов и ссылочным измерением для каждой строки при обработке материализоваться, то есть сохраняться в структуре измерения MOLAP на время обработки. Это оказывает незначительное влияние на производительность и требования к хранению данных, но увеличивает производительность запросов (иногда значительно).
Нажмите кнопку ОК.
Обратите внимание, что измерение куба География теперь связано с группой мер Товарооборот посредников. Значок указывает, что связь является ссылочной связью измерений.
В списке Измерения на вкладке Использование измерения щелкните правой кнопкой мыши измерение География и выберите команду Переименовать.
Измените название этого измерения куба на География торгового посредника.
Поскольку это измерение куба теперь связано с группой мер Товарооборот посредников, явное определение его использования в кубе поможет пользователям в работе и позволит избежать возможных недоразумений.
Как правильно распределить показатель «Товарооборот посредников» по измерению «География»
В меню Сборка выберите команду Развернуть Analysis Services Tutorial.
После успешного завершения развертывания в конструкторе кубов, где открыт куб Службы Analysis Services Tutorial, перейдите на вкладку Обозреватель и нажмите кнопку Повторное соединение.
На панели метаданных разверните элемент География торгового посредника, щелкните правой кнопкой мыши пункт Географии и выберите команду Добавить в область строк.
Обратите внимание, что мера Товарооборот посредников — сумма продаж теперь верно распределена по элементам атрибута Страна или Регион в пользовательской иерархии Географии, что показано на следующем рисунке.