表格模型脚本语言 (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 命令。

  1. 查找要使用的命令: TMSL 参考 - 命令

  2. 检查命令中使用的对象的对象定义引用: TMSL 引用 - 对象

  3. 选择用于执行 TMSL 脚本的方法:

模型定义架构

以下屏幕截图显示了架构的缩写版本,折叠后显示主要对象。

SSAS_TabularMetadata

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