码迷,mamicode.com
首页 > 其他好文 > 详细

Dimension Hierarchy

时间:2015-06-30 17:42:21      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:

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的聚合,不仅能节省存储空间,并且能提高查询性能。

Dimension Hierarchy

标签:

原文地址:http://www.cnblogs.com/ljhdo/p/4610929.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!