You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取SSAS多维数据集所有维度的启用与禁用属性/层次结构?

解决方案

原脚本依赖$system.MDSchema_hierarchies,但这个DMV仅返回已启用属性层次结构(即AttributeHierarchyEnabled = TRUE)的项。要获取所有维度属性(包括禁用的),需要改用$system.MDSchema_attributes这个DMV,它包含维度的所有属性定义,无论是否启用属性层次结构。

针对SQL Server 2008 R2,可使用以下脚本:

SELECT 
    [CATALOG_NAME] AS [DATABASE],
    CUBE_NAME AS [CUBE],
    DIMENSION_UNIQUE_NAME AS [DIMENSION],
    ATTRIBUTE_DISPLAY_FOLDER AS [FOLDER],
    ATTRIBUTE_CAPTION AS [DIMENSION ATTRIBUTE],
    ATTRIBUTE_IS_VISIBLE AS [VISIBLE],
    ATTRIBUTE_HIERARCHY_ENABLED AS [HIERARCHY_ENABLED] -- 明确标识属性层次结构是否启用
FROM $system.MDSchema_attributes
WHERE 
    CUBE_NAME = 'MyCube'
    AND DIMENSION_TYPE = 2 -- 仅筛选常规维度(排除度量值维度)
ORDER BY 
    DIMENSION_UNIQUE_NAME, 
    ATTRIBUTE_CAPTION;

关键说明:

  • ATTRIBUTE_HIERARCHY_ENABLED字段直接对应属性的AttributeHierarchyEnabled设置,值为TRUE表示启用,FALSE表示禁用。
  • DIMENSION_TYPE = 2用于排除度量值维度,只返回业务维度的属性;如果需要包含度量值维度,可去掉这个条件。
  • 若需要区分“用户自定义层次结构”和“属性层次结构”,可结合$system.MDSchema_hierarchies做关联查询,但如果只需要所有属性(包括禁用的),上述脚本已足够。

内容的提问来源于stack exchange,提问作者HandsomePig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 22:12:04