Определение связи фактов
Иногда пользователи хотят иметь возможность вводить для мер измерения, которые образуются из элементов данных таблицы фактов, или создавать запросы к таблице фактов для получения специальных дополнительных сведений, таких как номера счетов или номера заказов на покупку, относящихся к конкретным фактам продаж. При определении измерения, основанного на подобных элементах таблиц фактов, оно называется измерением фактов. Измерения фактов также называются вырожденными измерениями. Измерения фактов полезны для группирования строк таблицы фактов, например для выбора всех строк, относящихся к определенному номеру счета. Хотя можно поместить эти сведения в отдельную таблицу измерения в реляционной базе данных, создание такой таблицы измерения не принесет пользы, потому что таблица измерения станет расти так же быстро, как и таблица фактов, что будет лишь порождать дублирование и приведет к необоснованной сложности таблицы.
В службах Microsoft SQL Server 2005 Analysis Services (SSAS) можно указать, дублировать ли данные измерения фактов в MOLAP-структуре измерения, чтобы повысить производительность обработки запросов, или же задать измерение фактов как измерение ROLAP, чтобы сэкономить пространство хранения за счет снижения производительности обработки запросов. При хранении измерения в режиме хранения MOLAP все элементы измерения, помимо хранения в секциях группы мер, хранятся в экземпляре служб Analysis Services в крайне сжатой структуре MOLAP. При хранении измерения в режиме хранения ROLAP только определение измерения хранится в структуре MOLAP, сами же элементы измерения запрашиваются из соответствующей реляционной таблицы фактов во время обработки запроса. Выбор подходящего режима хранения зависит от того, как часто обращаются с запросами к измерению фактов, сколько строк возвращает типичный запрос, каковы производительность обработки запроса и стоимость обработки. Определение измерения как ROLAP не требует, чтобы все кубы, использующие это измерение, также хранились в режиме ROLAP. В этом состоит отличие от служб SQL Server 2000 Analysis Services.
При определении измерения фактов можно задать связь между этим измерением и группой мер как связь фактов. К связям фактов применяются следующие ограничения.
- Атрибут гранулярности должен быть ключевым столбцом для измерения, что образует связь «один к одному» между измерением и фактами в таблице фактов.
- Измерение может иметь связь фактов только с одной группой мер.
Примечание. |
---|
В измерения фактов необходимо вносить частичные обновления после каждого обновления в группе мер, на которую ссылается связь фактов. |
Дополнительные сведения см. в разделах Связи измерений и Определение связей фактов и свойств связей фактов.
В задачах этого раздела нужно добавить новое измерение куба, основанное на столбце CustomerPONumber таблицы фактов FactInternetSales. Затем предстоит указать связь фактов между этим новым измерением куба и группой мер Internet Sales.
Определение измерения Internet Sales Orders Fact
Определение измерения Internet Sales Orders Fact
В конструкторе кубов выберите куб учебника по службам Analysis Services и откройте вкладку Структура куба.
Щелкните правой кнопкой мыши область Измерения и выберите команду Добавить измерение куба.
В диалоговом окне Добавление измерения куба нажмите кнопку Создать измерение.
Будет открыт мастер измерений.
На странице Вас приветствует мастер измерений нажмите кнопку Далее.
На странице Выбор представления источника данных нажмите кнопку Далее, чтобы выбрать данные для измерения из представления источника данных DW Adventure Works.
На странице Выбор типа измерения нажмите кнопку Далее и укажите, что в качестве измерения будет использоваться стандартное измерение.
На странице Выбор основной таблицы измерения выберите в списке Основная таблица значение dbo.FactInternetSales.
Обратите внимание, что составной ключ определен на основе данных столбцов SalesOrderNumber и SalesOrderLineNumber, являющихся ключевыми, а столбец SalesOrderLineNumber используется для определения свойства имени элемента. Кроме того, обратите внимание, что определять столбец для свойства имени члена можно только из таблицы FactInternetSales.
Нажмите кнопку Далее.
На странице Выбор связанных таблиц убедитесь, что не выбрана ни одна таблица, и нажмите кнопку Далее.
На странице Выбор атрибутов измерения сбросьте все выбранные атрибуты измерения и установите флажок атрибута измерения Customer PO Number.
Обратите внимание, что в мастере измерений нельзя выбрать в качестве атрибута ни один из элементов составного ключа. Это связано с тем, что составные ключи были определены как ключи столбцов. Чтобы добавить их в качестве полноправных атрибутов, необходимо определить их в качестве атрибутов после определения измерения.
Нажмите кнопку Готово, измените имя измерения на Internet Sales Order Details, а затем последовательно нажмите кнопки Готово и ОК, чтобы добавить вновь созданное измерение базы данных в куб учебника по службам Analysis Services в качестве измерения куба.
Откройте конструктор измерений для измерения Internet Sales Order Details.
В области Атрибуты выберите Internet Sales и в окне свойств измените значение свойства Имя на Item Description.
В ячейке свойства NameColumn выберите значение (новое), затем в диалоговом окне Привязка объекта выберите параметр Product для таблицы-источника, укажите EnglishProductName как исходный столбец, а затем нажмите кнопку ОК.
Добавьте атрибут Sales Order Number к данному измерению, перетащив столбец SalesOrderNumber из таблицы InternetSales области Представление источника данных в область Атрибуты.
Измените свойство Name нового атрибута Sales Order Number на Order Number, а значение свойства OrderBy на Ключ.
В области Иерархии и уровни создайте пользовательскую иерархию Internet Sales Orders, которая содержит для каждого заказа уровни Order Number и Item Description.
В области Атрибуты выберите Internet Sales Order Details, а затем просмотрите значение свойства StorageMode в окне свойств.
Обратите внимание, что данное измерение хранится как измерение MOLAP. Хотя изменение режима хранения на ROLAP позволит сократить время обработки и пространство для хранения, это произойдет за счет уменьшения скорости обработки запросов. При выполнении упражнений данного учебника в качестве режима хранения будет использован MOLAP.
Определение связи фактов для измерений фактов
Определение связи фактов для измерений фактов
Переключитесь в конструкторе кубов на куб учебника по службам Analysis Services и откройте вкладку Использование измерений.
Обратите внимание, что измерение куба Internet Sales Order Details автоматически настроено как измерение, имеющее связь фактов, что отражает его уникальный значок.
На следующем рисунке демонстрируется измерение куба Internet Sales Order Details со связью фактов.
На пересечении группы мер Internet Sales и измерения Internet Sales Order Details нажмите кнопку с многоточием (…) в ячейке tem Description, чтобы просмотреть свойства связи фактов.
Будет открыто диалоговое окно Задание связи. Обратите внимание, что настройка свойств невозможна.
На следующем рисунке показаны свойства связи фактов в диалоговом окне Задание связи.
Нажмите кнопку Отмена.
Просмотр куба с использованием измерения фактов
Просмотр куба с использованием измерения фактов
В меню Сборка выберите команду Развернуть «Учебник по службам Analysis Services», чтобы внести изменения в экземпляр служб Analysis Services и обработать базу данных.
После успешного завершения развертывания откройте вкладку Обозреватель в конструкторе кубов, выберите куб учебника по службам Analysis Services и нажмите кнопку Повторное соединение.
Очистите все меры и иерархии в области Данные, а затем добавьте измерение Internet Sales-Sales Amount в область данных в области Данные.
В области Метаданные последовательно раскройте элементы Customer, Location, Customer Geography, Members, All Customers, Australia, Queensland, Brisbane, 4000, щелкните правой кнопкой мыши Adam Powell и выберите значение Добавить в область вложенных кубов.
Фильтр, согласно которому ограничивается число заказов, возвращаемых одному клиенту, позволяет пользователю выполнить детализацию по огромной таблице фактов, не ощущая заметного падения скорости обработки запросов.
Добавьте пользовательскую иерархию Internet Sales Orders из измерения Internet Sales Order Details в раздел строк области Данные.
Заметьте, что соответствующие номера заказов и объемы закупок Адама Пауэла теперь отображаются в области Данные.
Раскройте каждый номер заказа в области строк, чтобы увидеть подробности каждой позиции строки заказа для этих заказов.
На следующем рисунке показано, как выглядят измерения после выполнения предыдущих шагов.
Следующая задача занятия
Определение связи «многие ко многим»
См. также
Другие ресурсы
Связи измерений
Определение связей фактов и свойств связей фактов