栏目分类
Power BI新革命:TMDL视图解锁数据模型新境界
发布日期:2025-02-05 11:41    点击次数:102

Power BI迎来2025年首个重磅更新。

TMDL视图,正式登场,为数据建模带来全新体验。

2025年,Power BI 开年的第一个惊喜,非 TMDL 视图莫属。

这次更新,让开发人员和高级用户激动不已,因为它带来了代码管理语义模型的全新方式,不仅提升了开发效率,还为高级建模和自动化铺平了道路。

而且,别担心,即使你是小白用户,只要熟悉它的基本用法,也能轻松提升工作效率。

接下来,就让我们一起探索 TMDL 视图的奥秘吧!

TMDL,全称 Tabular Model Definition Language(表格模型定义语言),是专门为定义和操作 Power BI 及 Analysis Services 表格模型设计的脚本语言。

其核心目标,就是通过代码实现语义模型的全面控制,让用户高效地创建、修改和管理模型。

而 TMDL 视图,就是 Power BI Desktop 新增的一个视图,它允许你在 Power BI Desktop 中直接编写、修改和应用 TMDL 脚本,为模型开发提供代码化的替代方式。

这项功能,对于那些需要精细控制和高效批量操作的开发人员来说,简直是福音。

想要启用 TMDL 视图?

目前,TMDL 视图还是预览功能,需要你安装 2025 年 1 月的 Power BI Desktop 版本。

然后,在文件>选项>预览功能中,勾选“TMDL视图”,重启 Power BI Desktop 后,你就会在左侧看到一个新的视图按钮,点击进入,便是 TMDL 视图的界面了。

初次打开 TMDL 视图,代码编辑器是空白的,背景会提示一个 TMDL 脚本的示例。

你可以通过两种方式添加内容:

选择某个表或字段,拖拽到脚本编辑器(支持多选拖拽)。鼠标放到某个表或字段上,右键选择“将 TMDL 脚本编写为”>“脚本”选项卡。

这样,每个放入的对象都会以 TMDL 的 createOrReplace 语法生成该对象的完整定义。

每次添加对象脚本时,都会创建一个新的选项卡,你可以重命名或删除这些选项卡。

TMDL 脚本包含两个部分:

命令:必需的,位于脚本顶部,TMDL 视图中用到的是 createOrReplace 命令,用于创建或替换指定的语义模型对象和所有后代。一个或多个使用 TMDL 语言定义或引用的语义模型对象。

比如,将度量值“销售额”拖拽到编辑器中,你就能看到一个基本的脚本结构。

(注:脚本中的中文对象名称会有波浪线提示,但这并不影响使用。)

以 Power BI 星球案例模型为例,我们来看看 TMDL 视图的一个具体用法:迁移计算组。

从 2023 年 10 月开始,Power BI Desktop 已经支持直接创建计算组了。

而有了 TMDL 视图,即使你不了解计算组怎么建,也可以轻松将其他文件中的计算组迁移到新的文件中。

只需打开已建好计算组的 Power BI 文件,进入 TMDL 视图,将计算组拖拽到脚本编辑器中,自动生成完整定义代码,复制代码。

然后打开目标 pbix 文件,建立一个新的 TMDL 视图,粘贴代码,点击“应用”按钮。

这样,目标文件中就创建好了一个相同的计算组(前提是目标文件模型中必须有计算组中所引用的表和字段)。

通过 TMDL 视图,不仅可以迁移计算组,还可以迁移模型中的任何对象,如度量值、计算列等,甚至包括表。

因为 TMDL 脚本中包含了 Power Query 处理每一个步骤的完整 M 公式。

只需复制表的脚本,无需通过 Power Query,就能将该表的全部信息直接添加到另一个文件的模型中。

需要注意的是,TMDL 视图仅修改语义模型元数据,不刷新数据或影响报表。

因此,迁移对象后,需要刷新数据才能使新的对象生效。

TMDL 视图的优点不言而喻:大幅提升效率,支持批量操作,确保标准化的模型定义,轻松在团队中共享并重复使用。

但是,它也需要一定的技术背景,熟练使用 TMDL 可能需要一定的学习时间。

对于没有技术背景、完全不懂 TMDL 脚本的伙伴来说,要不要投入时间去专门学习呢?

除非你是 Power BI 重度开发者,否则不需要刻意专门学习。

你可以先了解 TMDL 视图的基本用法和语法结构,在 Power BI 文件中拖拽或右键生成 TMDL 脚本,查看现有模型的定义,逐步熟悉。

然后,利用他人或团队共享的脚本或应用示例,直接应用于自己的模型。

未来,结合 AI 自然语言编程功能生成修改 TMDL,将进一步降低 TMDL 的使用门槛。

TMDL 视图才刚刚推出,仍在持续改进中,未来的功能会更加强大。

它有望改变我们管理 Power BI 数据模型的方式,让我们拭目以待吧!