AttributeHierarchyEnabled 属性的值确定是否创建属性层次结构。如果将该属性设置为 False,则不创建属性层次结构,并且无法将该属性用作用户层次结构中的一个级别;该属性层次结构只作为成员属性存在。但是,禁用的属性层次结构仍然可以用来对另一个属性的成员进行排序。如果将 AttributeHierarchyEnabled 属性的值设置为 True,则 AttributeHierarchyVisible 属性的值将确定该属性层次结构是否可见(与是否在用户定义层次结构中使用它无关)
启用属性层次结构时,可能需要指定以下其他三个属性的值:
-
IsAggregatable
默认情况下,为所有属性层次结构定义了一个“(全部)”级别。若要禁用已启用的属性层次结构的“(全部)”级别,请将此属性的值设置为 False。
注意 IsAggregatable 属性设置为 False 的特性只能用作用户定义层次结构的根,应该指定默认成员(否则 Analysis Services 引擎引为您选择默认成员)。
-
AttributeHierarchyOrdered
默认情况下,Analysis Services 将在处理期间对已启用的属性层次结构的成员进行排序,然后按 OrderBy 属性的值(例如,按名称或按键)存储成员。如果您不关心排序,则可以通过将该属性的值设置为 False 来提高处理性能。
-
AttributeHierarchyOptimizedState
默认情况下,Analysis Services 将在处理期间为每个已启用的属性层次结构创建索引,以提高查询性能。如果不打算使用属性层次结构进行浏览,则可以通过将该属性的值设置为 NotOptimized 来提高处理性能。但是,如果使用隐藏的层次结构作为维度的键属性,则通过创建属性成员的索引仍然能提高性能。
如果禁用了属性层次结构,则不应用这些属性。
在该主题内的任务中,将禁用不会用于浏览的“雇员”维度中的社会保障号码和其他属性。然后,将隐藏“客户”维度中的客户名称和邮政编码属性层次结构。层次结构中的大量属性成员将使对这些层次结构的浏览速度变得非常缓慢,这与用户层次结构无关。