表格模型脚本语言 (TMSL) 参考
适用于:SQL Server 2016 及更高版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium
表格模型脚本语言 (TMSL) 是兼容级别 1200 或更高版本的表格数据模型的命令和对象模型定义语法。 TMSL 通过 XMLA 协议与 Analysis Services 通信,其中 XMLA.Execute
方法接受 TMSL 中基于 JSON 的 语句 脚本,以及 Analysis Services 脚本语言中的传统基于 XML 的脚本 (ASSL for XMLA) 。
TMSL 的关键元素:
基于表格模型语义的表格元数据。
表格模型由表、列和关系组成。 TMSL 中的等效对象定义现在不出人意料地是表、列、关系等。 新的元数据引擎支持这些定义。
对象定义的结构为 JSON 而不是 XML。
除了如何在 JSON 或 XML) 中 (格式化有效负载外,TMSL 和 ASSL 在功能上等效于它们向用于服务器通信和数据传输的 XMLA 方法提供命令和元数据。
如何使用 TMSL
探索 TMSL 脚本的最简单方法是在已知模型上使用SQL Server Management Studio (SSMS) 中的 CREATE、ALTER、DELETE 或 Process 命令。
查找要使用的命令: TMSL 参考 - 命令
检查命令中使用的对象的对象定义引用: TMSL 引用 - 对象
选择用于执行 TMSL 脚本的方法:
SSMS 中的 XMLA 窗口
Invoke-ASCmd PowerShell cmdlet
Analysis Services 在 SSIS 中执行 DDL 任务。
模型定义架构
以下屏幕截图显示了架构的缩写版本,折叠后显示主要对象。
Analysis Services 中的脚本语言
Analysis Services 支持 ASSL 和 TMSL 脚本语言。 仅以 1200 或更高兼容级别创建的表格模型以 JSON 格式的 TMS 进行描述。
Analysis Services 脚本语言 (ASSL for XMLA) 是第一种脚本语言,并且仍然是多维模型和表格模型的唯一脚本语言,兼容级别较低 (1100 或 1103) 。 在 ASSL 中,以多维术语描述 110x 的表格模型,例如模型) 的多维数据集 (和表) 的 度量值组 (。
注意
在 [SQL Server Data Tools (SSDT) 中,可以通过将其 CompatibilityLevel 切换到 1200 或更高来升级早期版本的表格模型以使用 TMSL。 请记住,升级不可逆。 在升级之前,请备份模型,以防稍后需要原始版本。
下表是跨不同平台/版本在特定兼容性级别的 Analysis Services 数据模型的脚本语言矩阵。
版本 | 多维 | 表格 110x | 表格 1200 | 表格 1400 | 表格 1500 | 表格 1600 |
---|---|---|---|---|---|---|
Power BI Premium | NA | NA | NA | NA | TMSL | TMSL |
Azure Analysis Services | NA | NA | TMSL | TMSL | TMSL | TMSL |
SQL Server 2022 Analysis Services | ASSL | ASSL | TMSL | TMSL | TMSL | TMSL |
SQL Server 2019 Analysis Services | ASSL | ASSL | TMSL | TMSL | TMSL | NA |
SQL Server 2017 Analysis Services | ASSL | ASSL | TMSL | TMSL | NA | NA |
SQL Server 2016 Analysis Services | ASSL | ASSL | TMSL | NA | NA | NA |
SQL Server 2014 Analysis Services | ASSL | ASSL | NA | NA | NA | NA |
SQL Server 2012 Analysis Services | ASSL | ASSL | NA | NA | NA | NA |