隐藏和禁用属性层次结构

默认情况下,将为维度中的每个属性创建属性层次结构,并且每个层次结构都可用于维度事实数据。 此层次结构由“全部”级别和包含层次结构的所有成员的详细信息级别组成。 如前所述,可以将属性组织到用户定义的层次结构中,以提供多维数据集中的导航路径。 在某些情况下,你可能希望禁用或隐藏某些属性及其层次结构。 例如,用户不会用某些属性(如社会安全号码或国家标识号、工资率、出生日期和登录信息)对多维数据集信息进行排序。 相反,此信息通常仅被视为特定属性成员的详细信息。 你可能想要隐藏这些属性层次结构,使属性仅作为特定属性的成员属性可见。 你可能还希望使其他属性(如客户名称或邮政编码)的成员仅在通过用户层次结构而不是通过属性层次结构独立查看时才可见。 这样做的一个原因是属性层次结构中不同成员的大量数量。 最后,为了提高处理性能,应禁用用户不会用于浏览的属性层次结构。

AttributeHierarchyEnabled 属性的值确定是否创建了属性层次结构。 如果此属性设置为 False,则不会创建属性层次结构,并且该属性不能用作用户层次结构中的级别;属性层次结构仅作为成员属性存在。 但是,禁用的属性层次结构仍可用于对另一个属性的成员进行排序。 如果 AttributeHierarchyEnabled 属性的值设置为 True,则 AttributeHierarchyVisible 属性的值将决定属性层次结构是否可见,而不依赖于其在用户定义层次结构中的使用。

启用属性层次结构后,可能需要为以下三个附加属性指定值:

  • IsAggregatable

    默认情况下,为所有属性层次结构定义 (All) 级别。 若要禁用已启用属性层次结构的 (All) 级别,请将此属性的值设置为 False

    注释

    IsAggregatable 属性设置为 false 的属性只能用作用户定义的层次结构的根,并且必须指定默认成员(否则,Analysis Services 引擎会为你选择一个属性)。

  • AttributeHierarchyOrdered

    默认情况下,Analysis Services 在处理过程中对已启用的属性层次结构的成员进行排序,然后按 OrderBy 属性的值(如 Name 或 Key)存储成员。 如果不关心排序,可以通过将此属性的值设置为 False 来提高处理性能。

  • 属性层次优化状态

    默认情况下,Analysis Services 会在处理过程中为每个已启用的属性层次结构创建索引,以提高查询性能。 如果不打算使用属性层次结构进行浏览,可以通过将此属性的值设置为 NotOptimized 来提高处理性能。 但是,如果使用隐藏层次结构作为维度的关键属性,则创建属性成员的索引仍将提高性能。

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

在本主题的任务中,你将禁用员工维度中不会用于浏览的社保号码和其他属性。 然后,将在 Customer 维度中隐藏客户名称和邮政编码属性层次结构。 这些层次结构中的大量属性成员将使浏览这些层次结构的速度非常慢,与用户层次结构无关。

在员工维度中设置属性层次结构属性

  1. 切换到维度设计器中的员工维度,然后单击“浏览器”选项卡。

  2. 验证 以下属性层次结构是否在 层次结构列表 中显示:

    • 基本费率

    • 出生日期

    • 登录 ID

    • 经理 社会保障号码

    • SSN

  3. 切换到 “维度结构 ”选项卡,然后在“ 属性 ”窗格中选择以下属性。 可以通过按住 Ctrl 键单击每个度量值来选择多个度量值:

    • 基本费率

    • 出生日期

    • 登录 ID

    • 经理社会安全号码

    • SSN

  4. 在“属性”窗口中,将所选属性的 AttributeHierarchyEnabled 属性的值设置为 False

    请注意,在 “属性 ”窗格中,每个属性的图标已更改,以指示该属性未启用。

    下图显示了所选属性的 AttributeHierarchyEnabled 属性设置为 False。

    AttributeHierarchyEnabled 属性设置为 False

  5. “生成”菜单上,单击“部署 Analysis Services 教程”

  6. 处理成功完成后,切换到 “浏览器 ”选项卡,单击“ 重新连接”,然后尝试浏览修改的属性层次结构。

    请注意,已修改属性的成员无法在 层次结构 列表中以属性层级进行浏览。 如果尝试将禁用的属性层次结构之一添加为用户层次结构中的级别,将收到一个错误,通知你必须启用属性层次结构才能参与用户定义的层次结构。

在客户维度中设置属性层次结构属性

  1. 切换到客户维度的维度设计器,然后单击“浏览器”选项卡

  2. 验证以下属性层次结构是否显示在层次结构列表中:

    • 全名

    • 邮政编码

  3. 切换到 “维度结构 ”选项卡,然后使用 Ctrl 键同时选择多个属性,在 “属性 ”窗格中选择以下属性:

    • 全名

    • 邮政编码

  4. 在“属性”窗口中,将所选属性的 AttributeHierarchyVisible 属性的值设置为 False

    由于这些属性层次结构的成员将用于维度事实数据,因此对这些属性层次结构的成员进行排序和优化将提高性能。 因此,不应更改这些属性的属性。

    下图显示了 AttributeHierarchyVisible 属性设置为 False。

    AttributeHierarchyVisible 属性设置为 False

  5. “属性”窗格中的“邮政编码”属性拖动到“层次结构”和“级别”窗格中的“客户地理位置”用户层次结构中,紧接在“城市”级别下。

    请注意,隐藏属性仍可能成为用户层次结构中的级别。

  6. “生成”菜单上,单击“部署 Analysis Services 教程”

  7. 部署成功完成后,切换到“客户”维度的 “浏览器 ”选项卡,然后单击“ 重新连接”。

  8. 尝试从 “层次结构 ”列表中选择修改的属性层次结构之一。

    请注意,两个修改的属性层次结构都不会显示在 层次结构 列表中。

  9. “层次结构 ”列表中,选择 “客户地理位置”,然后在浏览器窗格中浏览每个级别。

    请注意,隐藏级别( 邮政编码全名)在用户定义的层次结构中可见。

课程中的下一个任务

基于辅助属性对属性成员进行排序