隐藏和禁用属性层次结构

http://msdn.microsoft.com/zh-cn/ms166717(SQL.90).aspx

默认情况下,将在 Microsoft SQL Server 2005 Analysis Services (SSAS) 中为维度中的每个属性创建一个属性层次结构,并且每个层次结构均可用于确定事实数据的维度。此层次结构由“全部”级别和包含该层次结构中所有成员的详细级别组成。正如您已经了解到的,可以将属性组织到用户定义层次结构中,以提供在多维数据集中的导航路径。在某些环境下,可能需要禁用或隐藏某些属性以及它们的层次结构。例如,某些属性(如,社会保障号码或身份证号、付费率、出生日期和登录信息)不是用户将要用来维度化多维数据集信息的属性。而这些信息通常只是作为特定属性成员的详细信息而显示。您可能需要隐藏这些属性层次结构,使这些属性只在作为特定属性的成员属性时可见。可能还需要使其他属性的成员(例如,客户名称或邮政编码)只在通过用户层次结构而不是单独通过属性层次结构进行查看时才可见。这样做的一个理由可能是属性层次结构中不同成员的个数差异太大。最后,为了改善处理性能,应该禁用用户不用于浏览的属性层次结构。

AttributeHierarchyEnabled 属性的值确定是否创建属性层次结构。如果将该属性设置为 False,则不创建属性层次结构,并且无法将该属性用作用户层次结构中的一个级别;该属性层次结构只作为成员属性存在。但是,禁用的属性层次结构仍然可以用来对另一个属性的成员进行排序。如果将 AttributeHierarchyEnabled 属性的值设置为 True,则 AttributeHierarchyVisible 属性的值将确定该属性层次结构是否可见(与是否在用户定义层次结构中使用它无关)。

启用属性层次结构时,可能需要指定以下其他三个属性的值:

  • IsAggregatable
    默认情况下,为所有属性层次结构定义了一个“(全部)”级别。若要禁用已启用的属性层次结构的“(全部)”级别,请将此属性的值设置为 False
ms166717.note(zh-cn,SQL.90).gif注意:
IsAggregatable 属性设置为 False 的特性只能用作用户定义层次结构的根,而且应该指定一个默认成员(否则,Analysis Services 引擎将为您选择一个成员)。

  • AttributeHierarchyOrdered
    默认情况下,Analysis Services 将在处理期间对已启用的属性层次结构的成员进行排序,然后按 OrderBy 属性的值(例如,按名称或按键)存储成员。如果您不关心排序,则可以通过将该属性的值设置为 False 来提高处理性能。
  • AttributeHierarchyOptimizedState
    默认情况下,Analysis Services 将在处理期间为每个已启用的属性层次结构创建索引,以提高查询性能。如果不打算使用属性层次结构进行浏览,则可以通过将该属性的值设置为 NotOptimized 来提高处理性能。但是,如果使用隐藏的层次结构作为维度的键属性,则通过创建属性成员的索引仍然能提高性能。

如果禁用了属性层次结构,则不应用这些属性。

在该主题内的任务中,将禁用不会用于浏览的“雇员”维度中的社会保障号码和其他属性。然后,将隐藏“客户”维度中的客户名称和邮政编码属性层次结构。这些层次结构中的大量属性成员将使浏览这些层次结构变得很缓慢,而与用户层次结构无关。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值