使用不规则层次结构

一般情况下,在 Microsoft SQL Server Analysis Services 的层次结构中,每个级别上面的成员数与同一级别中任何其他成员上面的成员数相同。在不规则层次结构中,至少一个成员的逻辑父成员不直接位于该成员的上一级。 如果出现这种情况,则层次结构会降至其他级别以寻找其他深化路径。 而完全展开每个级别以寻找每个深化路径未必很复杂。

对于支持显示不规则层次结构的客户端应用程序,您可以将层次结构配置为隐藏逻辑上缺少的成员。 根据是要配置规则层次结构还是要配置父子层次结构,可以使用维度设计器设置两个不同的属性。

在不规则维度的表中,逻辑上缺少的成员可以用其他方式表示。 表单元可以为空或包含空字符串,也可以包含与它们父级相同的值作为占位符。

占位符的表示形式由子成员的占位符状态和客户端应用程序的 MDX Compatibility 连接字符串属性确定。

隐藏规则层次结构中的成员

对于规则层次结构,使用层次结构中某个级别的 HideMemberIf 属性可对最终用户隐藏缺少的成员。 HideMemberIf 属性支持下表中所述的设置。

HideMemberIf 设置

说明

Never

级别成员从不隐藏。

OnlyChildWithNoName

如果级别成员是其父级的唯一子级,并且名称为空或空字符串,则隐藏该级别成员。

OnlyChildWithParentName

如果级别成员是其父级的唯一子级,并且名称与其父级名称相同,则隐藏该级别成员。

NoName

如果级别成员的名称为空,则隐藏该级别成员。

ParentName

如果级别成员的名称与其父级的名称相同,则隐藏该级别成员。

若要使规则层次结构变得不规则,请将某个级别的 HideMemberIf 属性设置为相应的基础维度表值。

MDX Compatibility 模式

必须将从客户端应用程序到 Analysis Services 实例的连接字符串中的 MDX Compatibility 属性设置为 2,才能正确显示不规则层次结构。

MDX Compatibility 属性确定如何处理不规则层次结构或不对称层次结构中的占位成员。 如果将 MDX Compatibility 属性值设置为 1,则显示不规则层次结构中的占位成员。