Anchky's Tech Blog
专注.NET 专注BI
尽最大的努力,以求更好!

    在AS 2005中,创建维度时候有时候会提示出现冗余的属性关系。这个在设计Cube的时候值得注意。 

    举个例子,假如要建立具有三个层次(城市、州、国家)的地理维度,一个国家有多个州,一个州有多个城市。如果根据向导来创建该维度就会出现默认创建两个这样的关系,城市与州,城市与国家之间的关系。为了取得最佳的效果和辅助聚合设计,我们可以通过修改属性来改变关系,使之建立城市与州和州与国家之间的关系,这才是我们希望的关系,具备层次结构。AS 2005能够识别维度中属性间间接的层次关系,所以即使你仅在维度中指定城市与州、州与国家间的联系,还存在着城市与国家之间的联系。
    然而,如果硬要在城市和国家之间建立联系,会带来负面影响。建立城市和国家之间的联系必然会增加维度的体积、延长处理时间。还可能带来如下两个潜在的严重影响:        
     A),MDX可能涵盖了不可预期的额外单元。从而得出错误的数据。   
    B),查询事实数据可能忽略某些切片的存在返回错误值,或者返回空值。

    很明显,这个例子会导致城市和国家之间的冗余关系引起AS忽略了州和国家之间的关系。更为混乱(我认为是混乱)的是如果自创建一个"国家-州-城市"的用户层次(hierarchy),上述的错误就会消失。

    所以,设计维度的时候,应该尽量避免冗余关系。在SP1中,冗余关系无法自己修复,而只会提示警告!
   
引用原文:Redundant Attribute Relationship Health Warning!

posted on 2006-07-14 13:03  anchky  阅读(892)  评论(2编辑  收藏  举报