Поделиться через


Урок 5-2. Определение связи фактов

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

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

В SQL Server Analysis Services можно определить, следует ли дублировать данные измерения фактов в структуре измерения MOLAP для повышения производительности запросов или определить измерение фактов как измерение ROLAP, чтобы сэкономить место в хранилище за счет производительности запросов. При хранении измерения в режиме хранения MOLAP все элементы измерения хранятся в экземпляре SQL Server Analysis Services в строго сжатой структуре MOLAP, а не в секциях группы мер. При хранении измерения в режиме хранения ROLAP в структуре MOLAP хранится только определение измерения. Сами элементы измерения запрашиваются из базовой реляционной таблицы фактов во время запроса. Выбор подходящего режима хранения зависит от того, как часто обращаются с запросами к измерению фактов, сколько строк возвращает типичный запрос, каковы производительность обработки запроса и стоимость обработки. Определение измерения как ROLAP не требует, чтобы все кубы, использующие это измерение, также хранились в режиме ROLAP. Режимы хранения для каждого измерения можно настраивать независимо.

При определении измерения фактов можно задать связь между этим измерением и группой мер как связь фактов. К связям фактов применяются следующие ограничения:

  • Атрибут гранулярности должен быть ключевым столбцом для измерения, что образует связь «один к одному» между измерением и фактами в таблице фактов.

  • Измерение может иметь связь фактов только с одной группой мер.

Примечание

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

Дополнительные сведения см. в разделах Связи измеренийи Определение связей фактов и свойств связей фактов.

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

Определение измерения фактов «Заказы через Интернет»

  1. В Обозреватель решений щелкните правой кнопкой мыши элемент Измерения и выберите пункт Создать измерение.

  2. На странице Вас приветствует мастер измерений нажмите кнопку Далее.

  3. На странице Выбор метода создания выберите параметр Использовать существующую таблицу и нажмите кнопку Далее.

  4. На странице Указание сведений об источнике убедитесь, что выбрано представление источника данных Adventure Works DW 2019 .

  5. В списке Основная таблица выберите таблицу InternetSales.

  6. Убедитесь в том, что в списке Ключевые столбцы присутствуют столбцы SalesOrderNumber и SalesOrderLineNumber .

  7. В списке Столбец имени выберите столбец SalesOrderLineNumber.

  8. Щелкните Далее.

  9. На странице Выбор связанных таблиц снимите флажки для всех таблиц и нажмите кнопку Далее.

  10. На странице Выбор атрибутов измерения дважды щелкните флажок в заголовке, чтобы снять все флажки. Атрибут Номер заказа останется выбранным, так как он является ключевым атрибутом.

  11. Выберите атрибут Номер почтового отделения заказчика и нажмите кнопку Далее.

  12. На странице Завершение работы мастера измените имя на Подробности заказа через Интернет и нажмите кнопку Готово .

  13. В меню Файл выберите команду Сохранить все.

  14. На панели Атрибуты конструктора измерений для измерения Подробности заказа через Интернет выберите атрибут Номер заказаи в окне свойств задайте для свойства Name значение Описание позиции.

  15. В ячейке свойства NameColumn нажмите кнопку обзора (...). В диалоговом окне Столбец имен выберите Продукт из списка Исходная таблица , выберите EnglishProductName в столбце Источник и нажмите кнопку ОК.

  16. Добавьте атрибут Номер заказа на покупку к этому измерению, перетащив столбец SalesOrderNumber из таблицы InternetSales панели Представление источника данных на панели Атрибуты .

  17. Измените свойство Name нового атрибута Номер заказа на покупку на Номер заказа, а значение свойства OrderBy на По ключу.

  18. На панели Иерархии создайте пользовательскую иерархию Заказы через Интернет , состоящую из уровней Номер заказа и Описание позиции в этом порядке.

  19. На панели Атрибуты выберите Подробности заказа через Интернет, а затем просмотрите значение свойства StorageMode в окне свойств.

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

  20. Чтобы добавить созданное измерение в куб SQL Server Analysis Services Tutorial в качестве измерения куба, перейдите в раздел Куб Designer. На вкладке Структура куба щелкните правой кнопкой мыши панель Измерения и выберите команду Добавить измерение куба.

  21. В диалоговом окне Добавление измерения кубавыберите измерение Подробности заказа через Интернет и нажмите кнопку ОК.

Определение связи фактов для измерений фактов

  1. В Designer Куб для куба SQL Server Analysis Services Tutorial перейдите на вкладку Использование измерения.

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

  2. Нажмите кнопку обзора (...) в ячейке Описание элемента на пересечении группы мер Интернет-продажи и измерения Internet Sales Order Details (Сведения о заказах на продажу через Интернет ), чтобы просмотреть свойства связи фактов.

    Будет открыто диалоговое окно Задание связи . Обратите внимание, что настройка свойств невозможна.

    На рисунке ниже показаны свойства связи фактов в диалоговом окне Задание связи .

    Диалоговое окно

  3. Щелкните Отмена.

Просмотр куба с использованием измерения фактов

  1. В меню Сборка выберите команду Развернуть analysis Services Tutorial , чтобы развернуть изменения в экземпляре SQL Server Analysis Services и обработать базу данных.

  2. После успешного завершения развертывания перейдите на вкладку Браузер в кубе Designer куба SQL Server Analysis Services Tutorial и нажмите кнопку Повторно подключиться.

  3. Очистите все меры и иерархии на панели данных, а затем добавьте измерение Продажи через Интернет — сумма продаж в раздел строк области данных.

  4. На панели метаданных разверните узлы Заказчик, Расположение, География заказчика, Элементы, Все заказчики, Австралия, Квинсленд, Брисбейн, 4000, щелкните правой кнопкой мыши Адам Пауэлли выберите пункт Добавить в фильтр.

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

  5. Добавьте определяемую пользователем иерархию Заказы через Интернет из измерения Подробности заказа через Интернет в разделе строк панели данных.

    Обратите внимание, что соответствующие номера заказов и объемы закупок Адама Пауэла теперь отображаются на панели данных.

    На следующем рисунке показано, как выглядят измерения после выполнения ранее описанных шагов.

    Измерение интернет-Sales-Sales Sales-Sales

Следующая задача занятия

Определение связи «многие ко многим»

См. также:

Связи измерений
Определение связей фактов и свойств связей фактов