白杨商业智能工作室
#技术分享#Power BI#Fabric#语义模型

TMDL 视图上线网页版:在浏览器中像写代码一样编辑语义模型(预览版)

· 白杨BI工作室

在 Power BI 的日常开发中,语义模型(Semantic Model)的维护往往依赖桌面端的图形化界面。一旦模型变得复杂——几十张表、数百个度量值、层层嵌套的计算组——鼠标点击式的操作就会显得笨重且难以追踪变更。

TMDL 视图上线网页版:在浏览器中像写代码一样编辑语义模型(预览版)

在 Power BI 的日常开发中,语义模型(Semantic Model)的维护往往依赖桌面端的图形化界面。一旦模型变得复杂——几十张表、数百个度量值、层层嵌套的计算组——鼠标点击式的操作就会显得笨重且难以追踪变更。微软在 Web 端推出的 TMDL View(预览版)正在改变这一局面:它把语义模型的底层代码直接搬进了浏览器,让开发者可以像写代码一样审视、修改和版本控制自己的模型结构。

这项功能的核心价值在于“透明”与“效率”。过去,我们只能通过 UI 间接感知模型的变化,而 TMDL(Tabular Model Definition Language,表格模型定义语言)提供了一种纯文本的、人类可读的模型描述方式。现在,在浏览器里打开 TMDL View,你看到的不再是层层展开的菜单,而是清晰的代码块——每个表、每个关系、每个度量值的定义都一目了然。对于习惯用代码思维解决问题的专业开发者来说,这无疑是一次建模体验的跃迁。

从图形界面到代码:TMDL 的语法与结构

TMDL 的语法设计得相当克制,它没有引入复杂的编程逻辑,而是用简洁的键值对和缩进结构来描述模型对象。一个典型的 TMDL 片段看起来像这样:

table Sales {
    column OrderDate {
        dataType: dateTime
        formatString: "yyyy-mm-dd"
    }
    measure Total Sales := SUM(Sales[Amount])
}

这种结构天然适合 diff(差异比较)和 code review(代码审查)。你可以直接在浏览器中复制一段 TMDL 代码,粘贴到文本编辑器里对比版本差异,或者将其存入 Git 仓库进行协作。相比传统的 .pbix 二进制文件,TMDL 让团队协作变得像管理普通代码项目一样顺畅。

浏览器内的编辑体验:快捷键与实时验证

TMDL View 并非简单的只读查看器,它内置了一个完整的代码编辑器。这意味着你可以在浏览器中直接修改模型定义,并利用快捷键(如 Ctrl+S 保存、Ctrl+Z 撤销)提升操作效率。更关键的是,编辑器提供了实时语法验证——当你输入错误的属性名或遗漏了必要的分号时,界面会立即给出错误提示,而不是等到刷新报表时才报错。

这种即时反馈机制大幅降低了试错成本。比如,你正在调整一个计算组的优先级顺序,只需修改 TMDL 中的 priority 值,保存后模型会立即重新加载,你可以在旁边的报表画布上看到效果。这种“改代码-看结果”的闭环,比在桌面端反复打开对话框要快得多。

与现有工作流的融合:何时使用 TMDL View

需要明确的是,TMDL View 并不是要取代 Power BI Desktop 的图形化建模界面,而是作为它的补充。在以下场景中,TMDL View 的优势尤为明显:

  • 批量修改:当需要给所有度量值统一添加格式字符串,或者批量重命名表前缀时,用查找替换(Ctrl+H)处理代码比逐个点击 UI 快得多。
  • 精确控制:某些高级属性(如行级安全性(RLS)的复杂表达式、对象级安全性(OLS)的权限设置)在图形界面中操作繁琐,但在 TMDL 中可以直接手写。
  • 版本对比:如果你维护了多个环境(开发、测试、生产),TMDL 代码可以快速导出并与当前模型对比,找出环境间的细微差异。

当然,对于简单的模型创建或临时性的字段调整,图形界面依然更直观。TMDL View 更适合那些已经对模型结构有清晰认知、且需要精细操作的开发者。

预览版的局限与应对策略

作为预览功能,TMDL View 目前还有一些边界需要留意。例如,它不支持创建全新的表或度量值——你只能编辑现有对象。此外,某些复杂的模型特性(如计算组的表达式)在 Web 端的渲染可能不如桌面端完整。如果你在编辑过程中遇到不支持的语法,编辑器会给出警告,但不会阻止保存。

一个实用的建议是:将 TMDL View 视为“手术刀”而非“瑞士军刀”。日常的小改动继续用桌面端,当需要做结构性调整或批量操作时,再切换到 Web 端。同时,由于 TMDL 代码可以直接复制到本地,你完全可以把它当作一种模型文档来维护——每次重大变更后,导出一份 TMDL 存档,这比截图或口头描述要可靠得多。

从代码视角重新审视模型治理

TMDL View 的推出,本质上是在推动 Power BI 生态向“模型即代码”(Model as Code)的方向演进。当模型定义变成可读、可写、可版本化的文本时,团队就能建立更规范的治理流程:提交 PR(Pull Request)前自动检查 TMDL 语法、在 CI/CD 管道中对比模型变更、甚至用脚本自动生成模型文档。

这种转变对数据分析从业者的要求也悄然提高——你不再只是“拖拽字段”的用户,而是需要理解模型底层逻辑的开发者。但反过来,这也意味着你的工作成果可以被更精确地记录和复用。下次当你面对一个混乱的模型时,不妨打开 TMDL View,用代码的视角重新审视它,或许会找到比点击鼠标更优雅的解法。

相关文章

Power BI 和 Microsoft Fabric 的 Databricks ADBC 连接器正式发布

Power BI 和 Microsoft Fabric 的 Databricks ADBC 连接器正式发布

微软正在把 Power Query 连接器的底层驱动从 ODBC 迁到 ADBC,这次轮到 Databricks。适用于 Power BI 和 Microsoft Fabric 的 Databricks ADBC 连接器已正式 GA(Generally Available,正式发布)。

#技术分享#Power BI#Fabric#语义模型
Power BI 2026 年 10 月功能摘要

Power BI 2026 年 10 月功能摘要

距离上一次九月更新才过去没多久,而且当时还赶上了欧洲 Microsoft Fabric + SQL 社区大会,更新量已经不小。

#技术分享#Power BI#Fabric#Copilot
Microsoft Data Factory 的 Amazon Redshift V2 连接器

Microsoft Data Factory 的 Amazon Redshift V2 连接器

微软正在对 Amazon Redshift 连接器进行重要升级,底层驱动将从旧版切换至全新的 Amazon Redshift ODBC 2.x。

#技术分享#Power BI#Fabric
F2容量跑通完整报表方案

F2容量跑通完整报表方案

很多团队一提到 Microsoft Fabric,第一反应就是:F2 这种小容量能干嘛? 跑个 Demo 都嫌卡,更别说承载一套完整的报表解决方案了。

#技术分享#Power BI#最佳实践
近似去重反而更慢?

近似去重反而更慢?

做 DAX 性能优化的人,看到 `APPROXIMATEDISTINCTCOUNT` 这个新函数,第一反应多半是:终于有办法治 `DISTINCTCOUNT` 这个性能杀手了。 但最近一轮实测下来,结论有点打脸——在某些场景下,近似去重反而比精确去重更慢。

#Power BI#最佳实践
近似去重计数:快但准吗?

近似去重计数:快但准吗?

9 月 Power BI 更新后,Import 模式和 Direct Lake 模式的语义模型开始支持 `ApproximateDistinctCount()` 这个 DAX 函数。 我在一个 14 亿行的 Direct Lake 语义模型上做了测试,数据来自纽约出租车样本。

#Power BI#最佳实践
有问题?加企业微信 1 对 1 交流 👇
➕ 添加企业微信
备注「白杨」优先通过 · 数据洞察与智能决策
企业微信
企业微信
备注「白杨」优先通过