《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记七:高级维度设计
SQL Server 2008中SQL应用系列及BI笔记系列--目录索引
导读:本文介绍高级维度设计的基本技巧:创建三种非常规的维度关系:引用维度、事实维度、多对多维度。
本文末尾提供两个项目源码:AdventureWorks_BI_Begin4和AdventureWorks_BI_End4,顾名思义,开始和完成。另外,包括数据库文件SSAS2008SBS_Data,请读者自行修改数据源ds的连接串。
本文将包括以下内容:
■1、创建引用维度(referenced dimension)
■2、创建退化维度(degenerate dimension)
■3、添加一个事实维度到一个Cube
■4、创建多对多维度(many-to-many dimension)
通过前面的创建维度学习,我们已经能够处理没有关联关系的维度或与一个度量组有常规关联的维度。当每一个事实表记录与一个维度表记录相关时,该维度与一个度量组有常规关联。
Analysis Services也提供灵活的维度关系类型以兼容维度与度量组的其他关联方式。三种特殊的维度关系分别为:
(1)引用维度关系。有时候,多个维度可能共享一套通用的属性(被包含在一个雪花型维度的表中)。当事实表不直接与雪花型维度表相关时,雪花型维度与一个度量组有一个引用关系。
(2)事实维度关系。对任意一个事实记录都是惟一的属性可以被存储在事实表中。当维度被从存储在度量组的事实表中的属性创建时,该维度与度量组有一个事实关联。
(3)多对多维度关系。单个事实记录可能与多个维度记录相关。如下面例子中,维度与度量组在一个多对多的关系。
更多细节,请参考MSDN:维度关系(http://msdn.microsoft.com/en-us/library/ms175669.aspx)
1:创建引用维度(referenced dimension)
OK!部署项目。注意在Cube Designer界面,点击"Browser”,并"Reconnection”。
注意:Geography维度通过Customer中间维度与Internet Sales度量组相关,在Internet Sales度量组的上下文中,它代表customer geography。对于Reseller Sales度量组,Reseller是中间维度,因此,在它的上下文中,Geography维度代表reseller geography。
2-3:创建事实维度
OK!部署项目。注意在Cube Designer界面,点击"Browser”,并"Reconnection”,在Report面板区右键“Clear results”。
4:创建多对多(Many-to-Many)维度
在Analysis Services中创建一个多对多(Many-to-Many)关系需要两个维度和两个度量组。
下面我们举例创建一个Account Manger维度与Reseller Sales度量组的多对多关系。
Account Manager度量组和Reseller Orders维度作为中间(intermediate)度量组和中间(intermediate)维度。
Reseller Sales度量组和Reseller Orders维度已经存在。因此,我们需要创建Account Manager度量组和Account
Manager维度。
OK!部署项目。注意在Cube Designer界面,点击"Browser”,并"Reconnection”
源码下载:
参考资源:
1、SQL Server Analysis Services 官方教程
(http://technet.microsoft.com/zh-cn/library/ms170208.aspx)
2、Analysis Services Many-to-Many Dimensions: Query Performance Optimization Techniques