Power BI模型DMV中TMSCHEMA与MDSCHEMA的区别及查询差异场景
Power BI中TMSCHEMA与MDSCHEMA DMV的区别
核心定位差异
- MDSCHEMA系列:遵循OLE DB for OLAP(ODBO)通用标准,是为兼容传统OLAP工具设计的通用元数据接口,返回的结构符合行业通用OLAP规范,更偏向于对外暴露的用户级元数据。
- TMSCHEMA系列:Power BI(及Tabular模型)专属的DMV,直接映射模型内部的原生存储结构,能提供更细粒度、更贴合Tabular模型设计的元数据,是针对模型内部配置的原生查询接口。
MDSCHEMA_MEASURES与TMSCHEMA_MEASURES的具体差异
返回字段差异
MDSCHEMA_MEASURES仅包含ODBO标准定义的通用字段,比如MEASURE_NAME、AGGREGATION_FUNCTION、DESCRIPTION等,字段数量少,信息偏通用OLAP属性。TMSCHEMA_MEASURES包含大量Tabular模型专属字段,比如Expression(度量的DAX表达式原文)、FormatString(格式字符串)、IsHidden(是否隐藏)、Folder(度量所在文件夹)、ModifiedTime(修改时间),以及关联模型其他对象的TableID、ColumnID等内部标识,信息维度更丰富。
数据范围差异
MDSCHEMA_MEASURES默认仅返回用户可见的度量,隐藏的度量会被过滤,符合通用OLAP工具的用户视角逻辑。TMSCHEMA_MEASURES会返回模型中所有存在的度量,包括隐藏的,完全对应模型设计时的完整配置。
二者返回不同结果的场景
- 模型包含隐藏度量:此时
TMSCHEMA_MEASURES会列出所有隐藏条目,而MDSCHEMA_MEASURES不会显示这些内容。 - 需要获取Tabular专属配置信息:比如要查看度量的DAX表达式、格式规则、所在文件夹等,只有
TMSCHEMA_MEASURES能提供这些数据。 - 模型存在Tabular特有的对象:比如关联计算组的度量、配置动态格式的度量,
MDSCHEMA_MEASURES可能无法识别或返回不全,TMSCHEMA_MEASURES能完整展示这些对象的属性。 - 多语言模型配置:
MDSCHEMA_MEASURES返回的是当前会话语言下的显示名称,TMSCHEMA_MEASURES返回的是模型原生名称,二者的名称字段内容可能不一致。
内容的提问来源于stack exchange,提问作者Przemyslaw Remin
相关产品推荐
相关产品推荐

