标签:
Hierarchy分为两种,分别是:属性层次结构和用户定义的层次结构。
属性层次结构是由维度的单个属性构成的,当设置AttributeHierarchyEnable为true时,就启用了属性层次结构。Cube的空间结构是由属性层次结构来决定的。
1,用户定义的Hierarchy是一种有序组织数据的结构
用户定义的Hierarchy 直观上看是一个导航路径,从高的Level到低的Level查找数据,例如,从中国,河南,信阳,找到淮滨县。
一个维度可能有很多Attribute,Attribute之间没有明显的顺序,可以使用用户定义的Hierarchy组织Attribute,使Attribute变得有序。用户定义的Hierarchy是一种有序组织数据的结构,Hierarchy中的每个级别都表示维度中的一个属性。用户定义的Hierarchy下面简称为Hierarchy。
1.1 例如,DimDate维度的DateKey,DateQuarter和DateYear,属性之间有属性关系,但是没有Hierarchy,在SSMS中进行查看,发现DimDate维度下有四个属性层次结构。
1.2 为DimDate维度创建一个Date Hierarchy属性层次结构,组织DateKey,DateQuarter和DateYear这三个属性层次结构,并将这三个属性的AttributeHierarchyVisible设置为False,避免出现混乱,使同一个属性层次结构,不会出现在两个Hierarchy中。
在BIDT中执行Deploy和Process之后,点开维度的Browser选项卡,选中Date Hierarchy,能够很方便地导航数据。Hierarchy不会影响cube的结构,但是,能够为聚合提高性能,更便于user查看数据。点卡+号之后,进入低级的Level,查找数据。
1.3 在SSMS中,属性层次结构和用户自定义的层次结构的Icon是不同的,例如,MonthNumberOfYear是属性层次结构,其Icon是个矩形;Date Hierarchy是用户定义的层次结构,其Icon是个三角形。
1.4 使用MDX语句进行简单的查询
select {[Measures].[Unit Cost],[Measures].[Units Balance]} on columns, non empty [Dim Date].[Date Hierarchy].[Date Year].members on rows from [Adventure Works DW2012]
2 Hierarchy分为两种结构,自然层次结构和非自然层次结构。
利用属性关系创建的Hierarchy是自然层次结构,下级Level“属于”上级Level,“属于”含义是相邻的下级成员和上级成员存在多对一或一对一的关系。自然属性层次结构能够被SSAS利用,并提高聚合性能。
非自然的Hierarchy是指至少存在一个相邻的Level之间不存在属性关系,导致相邻的Level之间存在多对多的关系,这种层次结构用来为常用的属性创建 Drill-down 钻取导航路径。从用户的角度来说,有这种钻取的层次路径是非常方便的,并且在 MDX 中通过导航函数也可以非常方便的导航和计算,所以还是起到一定的积极作用的。
非自然的Hierarchy示例,性别和教育之间不存在属性关系,由性别和教育构成的Hierarchy就是非自然的Hierarchy。
3 MSDN
使用自然层次结构时,如果您在构成级别的属性之间建立了属性关系,则 SSAS可以使用某个属性的聚合来获取相关属性的结果。如果属性之间没有定义属性关系,则 Analysis Services 将根据键属性来聚合所有非键属性。
例如,在Date Hierarchy中,对DateYear的聚合,实际上可以由DateQuarter来聚合得到,这样SSAS就不会存储DateYear的聚合,不仅能节省存储空间,并且能提高查询性能。
标签:
原文地址:http://www.cnblogs.com/ljhdo/p/4610929.html