Compartir a través de


Referencia del lenguaje de guiones de modelo tabular (TMSL)

Se aplica a: SQL Server 2016 y versiones posteriores Analysis Services Azure Analysis Services Fabric/Power BI Premium

Tabular Model Scripting Language (TMSL) es la sintaxis de definición de comandos y modelo de objetos para modelos de datos tabulares en el nivel de compatibilidad 1200 o superior. TMSL se comunica con Analysis Services a través del protocolo XMLA, donde el método XMLA.Execute acepta tanto scripts de instrucciones basados en JSON en TMSL como los scripts tradicionales basados en XML en Analysis Services Scripting Language (ASSL para XMLA).

Elementos clave de TMSL:

  • Metadatos tabulares basados en la semántica del modelo tabular.

    Un modelo tabular se compone de tablas, columnas y relaciones. Las definiciones de objetos equivalentes en TMSL son ahora, no sorprendentemente, tablas, columnas, relaciones, etc. Un nuevo motor de metadatos admite estas definiciones.

  • Las definiciones de objeto se estructuran como JSON en lugar de XML.

    A excepción de cómo se da formato a la carga (en JSON o XML), TMSL y ASSL son funcionalmente equivalentes en cómo proporcionan comandos y metadatos a los métodos XMLA que se usan para la comunicación del servidor y la transferencia de datos.

Cómo usar TMSL

La manera más fácil de explorar el scripting TMSL es usar los comandos CREATE, ALTER, DELETE o Process en SQL Server Management Studio (SSMS) en un modelo que ya conoce.

  1. Busque el comando que desea usar: Referencia de TMSL - Comandos

  2. Compruebe la referencia de definición de objeto para los objetos usados en el comando: Referencia de TMSL - Objects

  3. Elija un método para ejecutar el script TMSL:

Esquema de definición de modelo

En el fragmento de código siguiente se muestra una versión abreviada del esquema para el nivel de compatibilidad de base de datos 1200 y versiones posteriores, reducida para resaltar los objetos clave.

"database": {
  "description": "Database object of Tabular Object Model (TOM)",
  "type": "object",
  "properties": {
    "name": {...},
    "id": {...},
    "description": {...},
    "compatibilityLevel": {...},
    "readWriteMode": {...},
    "model": {
      "description": "Model object of Tabular Object Model (TOM)",
      "type": "object",
      "properties": {
        "name": {...},
        "description": {...},
        "storageLocation": {...},
        "defaultMode": {...},
        "defaultDataView": {...},
        "culture": {...},
        "collation": {...},
        "annotations": {...},
        "tables": {...},
        "relationships": {...},
        "dataSources": {...},
        "perspectives": {...},
        "cultures": {...},
        "roles": {...},
        // "functions": {...}, // For database compatibility level 1702 and above
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}

Lenguajes de scripting en Analysis Services

Analysis Services admite lenguajes de scripting ASSL y TMSL. Solo los modelos tabulares creados en el nivel de compatibilidad 1200 o superior se describen en TMS en formato JSON.

Analysis Services Scripting Language (ASSL para XMLA) fue el primer lenguaje de scripting y sigue siendo el único lenguaje de scripting para modelos multidimensionales y modelos tabulares en niveles de compatibilidad inferiores (1100 o 1103). En ASSL, los modelos tabulares en 110x se describen en términos multidimensionales, como cubo (para un modelo) y el grupo de medida (para una tabla).

Nota:

En [SQL Server Data Tools (SSDT), puede actualizar un modelo tabular de versión anterior para usar TMSL cambiando su CompatibilityLevel a 1200 o superior. Recuerde que la actualización es irreversible. Antes de actualizar, realice una copia de seguridad del modelo en caso de que necesite la versión original más adelante.

La tabla siguiente es la matriz del lenguaje de scripting para los modelos de datos de Analysis Services en distintas plataformas o versiones en niveles de compatibilidad específicos.

Versión Multidimensional Tabular 110x Tabular 1200 Tabular 1400 Tabular 1500 Tabular 1600
Power BI Premium N/D N/D N/D N/D TMSL TMSL
Azure Analysis Services N/D N/D 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 N/D
SQL Server 2017 Analysis Services ASSL ASSL TMSL TMSL N/D N/D
SQL Server 2016 Analysis Services ASSL ASSL TMSL N/D N/D N/D
SQL Server 2014 Analysis Services ASSL ASSL N/D N/D N/D N/D
SQL Server 2012 Analysis Services ASSL ASSL N/D N/D N/D N/D