原文:《BI项目笔记》创建时间维度(2)
创建步骤:
序号 |
选择的属性 |
重命名后的名称 |
属性类别 |
1 |
DateKey |
DateKey |
常规 |
2 |
Month Key |
Month Key |
月份 |
3 |
English Month Name |
English Month Name |
每年的某一月 |
4 |
Month Number Of Year |
Month Number Of Year |
常规 |
5 |
Calendar Quarter Key |
Calendar Quarter Key |
季度 |
6 |
Calendar Quarter |
Calendar Quarter |
常规 |
7 |
Calendar Year |
Calendar Year |
年 |
至此我们已经建立完了时间维度,但是注意,BIDS已经产生了一个设计警告,我们把鼠标指向它,可以看到:在非父子维度中创建了层次结构。
调整属性关系:
调整为:
查看DimDate维度设计警告
解决办法:
避免将属性的可见属性层次结构用作用户定义的层次结构中的级别
http://technet.microsoft.com/zh-cn/library/bb630296(v=SQL.105).aspx
提示:我们可以通过隐藏属性层次结构,这样他就不会在浏览器中显示,但是要知道属性层次的结构是依然存在的,这很重要,就是我们在书写Mdx查询时不应该忽略掉它,而且能从该层次结构中取得成员
按上面的步骤,对Calendar Quarter Key和Month Key属性做相同改动。
在适当的位置将属性关系定义为“刚性”
http://technet.microsoft.com/zh-cn/library/bb630312(v=SQL.105).aspx
为了获得最佳性能,通常应根据各成员之间的关系是否会随时间变化来设置 RelationshipType 属性:
对于不希望变化的关系,请将 RelationshipType 属性设置为 Rigid。给定月份中的日期就是一种不希望变化的关系。
对于希望变化的关系,请将 RelationshipType 属性设置为 Flexible。可能随时间变化的关系的示例有给定区域内的销售人员或客户的婚姻状况。
注意:默认情况下,用户界面始终将 RelationshipType 属性设置为 Flexible。
设置 RelationshipType 属性将确定 Analysis Services 创建刚性聚合还是柔性聚合。增量更新后,Analysis Services 将删除柔性聚合,因此必须手动重新处理这些聚合,但 Analysis Services 会保留刚性聚合。
RelationshipType
指示成员关系是否随时间而更改。 值为 Rigid 和 Flexible,前者表示成员之间的关系不随时间而更改,后者表示成员之间的关系随时间而更改。 默认值为 Flexible。 如果您将关系定义为 Flexible(柔性),则将删除聚合并作为增量更新的一部分重新计算(如果只添加了新成员,则将不删除聚合)。 如果您将关系定义为 Rigid(刚性),则 Analysis Services 会在增量更新维度时保留聚合。 如果定义为刚性的关系发生了实际更改,Analysis Services 会在增量处理过程中生成错误。 指定适当的关系和关系属性,可提高查询和处理性能。