SQL Server 2016表格模型自定义表显示名称可行性咨询
解决方案
该需求可以在SQL Server 2016兼容级别的Tabular模型中实现,无需改动底层数据结构和业务逻辑,具体操作如下:
场景1:仅修改单张表的对外显示名称
如果你只需要给单个维度表、事实表修改客户端可见名称,不需要合并多张表的内容,直接修改表的Caption属性即可:
- 用SQL Server Data Tools(SSDT)打开你的Tabular模型项目
- 选中存储维度列的目标表,在右侧属性面板找到Caption属性,填入值
Codes - 选中存储度量值的目标表,同样在Caption属性中填入值
Values - 重新部署模型后,Excel等客户端展示的表名就会替换为你设置的自定义名称,内部实际表名、DAX公式、表关系都不会受到任何影响
如果你习惯用脚本操作,也可以直接修改模型XMLA定义中对应表的<Caption>标签值,执行部署即可生效。
场景2:需要将多张物理表的内容合并到同一个逻辑展示节点下
如果你要把多张不同维度表的列统一归到Codes展示节点、多张事实表的度量值统一归到Values展示节点,可以使用透视(Perspective)功能实现:
- 在SSDT的Tabular模型项目中,右键点击「透视」文件夹,选择「新建透视」
- 按业务规则勾选所有需要对外暴露的列和度量值
- 在透视编辑界面,给每张需要归到
Codes分类的维度表设置透视内显示名为Codes,给每张需要归到Values分类的事实表设置透视内显示名为Values - 保存并部署透视后,用户在Excel连接时选择你新建的透视,即可看到合并后的展示效果
注意事项
修改完成后建议在Excel端新建连接测试,避免旧连接的元数据缓存导致显示未更新。
内容的提问来源于stack exchange,提问作者hana
相关产品推荐
相关产品推荐

