Связи измерений
Использование измерений определяет связи между измерением куба и группами мер в нем. Измерение куба представляет собой экземпляр измерения базы данных, используемый в конкретном кубе. Куб может содержать (и часто содержит) измерения, которые не связаны непосредственно с группой мер, но которые могут быть косвенно связаны с ней через другое измерение или группу мер. При добавлении к кубу измерения базы данных или группы мер службы MicrosoftSQL ServerAnalysis Services попытаются определить использование измерения, анализируя связи между таблицами измерений и таблицами фактов в представлении источника данных, используемом для куба, а также связи между атрибутами в измерениях. Службы Analysis Services автоматически устанавливают параметры использования измерения для связей, которые они смогли обнаружить.
Связь между измерением и группой мер состоит из таблиц измерений и фактов, участвующих в связи, и атрибута гранулярности, указывающего детализацию измерения в конкретной группе мер.
Связи обычного измерения
Связь обычного измерения между измерением куба и группой мер существует, когда ключевой столбец для измерения соединен непосредственно с таблицей фактов. Эта прямая связь основана на связи между первичным и внешним ключами в базовой реляционной базе данных, но также может быть основана на логической связи, определенной в представлении источника данных. Связь обычного измерения представляет связь между таблицами измерений и таблицей фактов в традиционной структуре схемы «звезда». Дополнительные сведения об обычных связях см. в разделе Определение обычной связи и ее свойств.
Связи ссылочного измерения
Связь ссылочного измерения между измерением куба и группой мер существует в том случае, когда ключевой столбец измерения косвенно соединен с таблицей фактов по ключу в другой таблице измерения, как показано на следующей схеме.
Связь ссылочного измерения представляет связь между таблицами измерений и таблицей фактов в структуре схемы «снежинка». Когда таблицы измерений связаны по схеме «снежинка», можно определить либо одно измерение с использованием столбцов из нескольких таблиц, либо определить отдельные измерения на основе отдельных таблиц измерений, а затем задать связь между ними при помощи параметров связи ссылочного измерения. На следующем рисунке показана одна таблица фактов InternetSales и две таблицы измерений Customer и Geography, связанные по схеме «снежинка».
Можно создать измерение с таблицей Customer в качестве главной таблицы и таблицей Geography, включенной в качестве связанной. После этого определяется обычная связь между измерением и группой мер «Интернет-продажи».
Или можно создать два измерения, связанные с группой мер «Интернет-продажи»: измерение, основанное на таблице Customer и измерение, основанное на таблице Geography. После этого можно связать измерение «География» с группой мер «Интернет-продажи», используя связь ссылочного измерения, в которую входит измерение «Заказчик». В этом случае, когда факты в группе мер «Интернет-продажи» измеряются измерением «География», факты измеряются по заказчикам и по географии. Если куб содержит вторую группу мер «Товарооборот посредников», то измерить факты в группе мер «Товарооборот посредников» по таблице Geography невозможно, поскольку связи между группой мер «Товарооборот посредников» и Geography не существует.
Ограничения на количество ссылочных измерений, которые могут быть соединены друг с другом, нет, как показано на следующей схеме.
Дополнительные сведения о ссылочных связях см. в разделе Определение ссылочной связи и свойств ссылочной связи.
Связи измерения фактов
Измерения фактов, обычно называемые вырожденными измерениями, представляют собой стандартные измерения, составленные из столбцов атрибутов в таблицах фактов, а не из столбцов атрибутов в таблицах измерений. Полезные данные измерений иногда хранятся в таблице фактов с целью снижения дублирования. Например, на следующем рисунке приведена таблица фактов FactResellerSales из образца базы данных Adventure Works DW.
Эта таблица содержит данные об атрибутах не только для каждой строки заказа, оформленного посредником, но и для самого заказа. Атрибуты, обведенные на предыдущем рисунке, идентифицируют данные в таблице FactResellerSales, которые можно использовать в качестве атрибутов в измерении. В этом случае два дополнительных элемента данных — сопроводительный номер перевозчика и номер заказа на покупку, оформленного посредником, представлены столбцами атрибутов CarrierTrackingNumber и CustomerPONumber. Это весьма полезные сведения. Например, пользователи определенно будут заинтересованы в просмотре статистических сведений (например суммарной стоимости продуктов) для всех заказов, поставляемых по одному сопроводительному номеру. Однако без измерения данные по этим двум атрибутам не могут быть ни организованы, ни статистически обработаны.
Теоретически можно создать таблицу измерения, использующую те же самые ключевые данные, что и таблица FactResellerSales, и переместить два остальных столбца атрибутов, CarrierTrackingNumber и CustomerPONumber, в эту таблицу измерения. Однако при этом произойдет дублирование значительной части данных, а также излишнее усложнение хранилища данных с целью представления всего двух атрибутов в отдельном измерении.
Примечание |
---|
Измерения фактов часто используются для поддержки операций детализации. Дополнительные сведения о действиях см. в разделе Действия (службы Analysis Services — многомерные данные). |
Примечание |
---|
Необходимо осуществлять добавочное обновление измерений фактов после каждого обновления группы мер, на которую ссылается связь фактов. Если измерение фактов является измерением ROLAP, то механизм обработки служб Analysis Services очищает все кэши и осуществляет добавочную обработку группы мер. |
Дополнительные сведения о связях фактов см. в разделе Определение связей фактов и свойств связей фактов.
Связи измерений «многие ко многим»
В большинстве измерений каждый факт соединяется с одним и только одним элементом измерения, а один элемент измерения может быть связан с несколькими фактами. В терминах реляционных баз данных такая связь имеет название «один ко многим». Однако часто полезно соединять один факт с несколькими элементами измерения. Например, клиент банка может иметь несколько счетов (чековый, сберегательный, кредитный и инвестиционный), в то время как счет также может иметь нескольких владельцев или совладельцев. Измерение «Клиент», построенное на основе таких связей, имело бы несколько элементов, относящихся к одной транзакции по счету.
SQL Server Службы Analysis Services позволяют определить связь «многие ко многим» между измерением и таблицей фактов.
Примечание |
---|
Для обеспечения поддержки связи измерений «многие ко многим» в представлении источника данных должна быть установлена связь по внешнему ключу между всеми участвующими таблицами, как показано на предыдущем рисунке. В противном случае будет невозможно выбрать верную промежуточную группу мер при установке связи на вкладке Использование измерения конструктора кубов. |
Дополнительные сведения о связях типа «многие ко многим» см. в разделе Определение связи «многие ко многим» и свойств связей «многие ко многим».
См. также