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

如何使用CUBESET函数获取Excel维度表列名而非成员

Excel CUBESET获取维度表列名解决方案

问题原因

你之前的公式运行失败是因为不符合MDX语法规则:多维数据集中[DimCustomer]是维度对象,它的直接子级不是属性集合,.children方法只能用来获取属性层级下的成员值,无法用来提取维度的属性(也就是维度表列名)。

实现方法

方法1:直接使用CUBESET函数(推荐)

将你的CUBESET公式修改为如下写法即可返回DimCustomer维度下的所有属性列名集合:

=CUBESET("Data","[DimCustomer].Attributes","Cubeset DimCustomer fields")

后续你可以搭配CUBERANKEDMEMBER函数逐个取出集合中的列名,示例:
假设上述CUBESET公式写在A1单元格,要取第1个列名的公式为:

=CUBERANKEDMEMBER("Data",$A$1,1)

依次修改序号就能取出所有列名。

方法2:DMV查询获取完整列名清单

如果你的数据集(如低版本SSAS、部分Power BI共享数据集)不支持.Attributes语法,可以通过查询系统元数据表实现:

  • 点击「数据」选项卡→「获取数据」→「自其他来源」→「自Analysis Services」
  • 输入你的Data数据集的连接信息完成连接
  • 在导航窗口点击「高级」,输入如下DMV查询语句:
SELECT ATTRIBUTE_NAME
FROM $SYSTEM.MDSCHEMA_ATTRIBUTES 
WHERE DIMENSION_NAME = 'DimCustomer'
  • 加载结果后即可得到完整的DimCustomer列名清单,还可以设置自动刷新同步数据集的元数据变更。

注意事项

  • 方法1返回的集合会包含维度的键属性、父级属性等系统内置属性,不需要可以手动筛选
  • 如果你使用的是Excel内置的Power Pivot数据集,需要先在Power Pivot选项卡中启用「高级选项」才能正常运行上述查询

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 16:15:07