SSAS表格模型如何实现多维模型的KeyColumns/NameColumn等效配置?
在SSAS表格模型中实现维度键值隐藏、显示描述文本的需求方案
问题回顾
在SSAS多维立方体中,Scenario维度的SA - Scenario层级配置了Scenario ID作为键列、Description作为显示文本列,筛选时生成的MDX使用键值(如[Scenario].[SA - Scenario].[Scenario].&[164]),但用户看到的是描述文本。现在在SSAS表格模型中,当前配置仅能设置Source列,导致MDX使用描述文本(如[Scenario].[SA - Scenario].[Scenario].&[2016 Budget]),需要实现和多维模型一致的效果。另外,你对Perspective的理解正确——它仅控制对象可见性,不影响键/显示文本的映射,无需用它来实现该需求。
实现步骤
可以在表格模型中实现该需求,具体操作如下:
- 确保Scenario表同时包含
Scenario ID(唯一键列)和Description(显示文本列)两个字段 - 在表格模型设计器中,选中
Scenario维度下的SA - Scenario层级对象 - 在右侧属性窗口中找到
Key Columns属性,点击编辑按钮,选择Scenario ID作为该层级的键列 - 同样在属性窗口中找到
Name Column属性,选择Description作为该层级的显示文本列 - 保存模型并重新处理整个表格模型
效果验证
重新处理完成后,在Excel或SSAS表格模型浏览器中筛选Scenario维度时:
- 用户界面显示的是
Description文本 - 生成的MDX语句会使用
Scenario ID键值,格式与多维模型一致:[Scenario].[SA - Scenario].[Scenario].&[164]
注意事项
- 表格模型中键列和名称列的配置入口在层级对象的属性窗口中,而非直接设置Source列,需确保选中的是层级对象而非表或单个列
- 建议使用SQL Server 2016及以上版本的表格模型(兼容性级别1200+),低版本可能不支持该配置项
内容的提问来源于stack exchange,提问作者Dave R
相关产品推荐
相关产品推荐

