Condividi tramite


Informazioni di riferimento su TMSL (Tabular Model Scripting Language)

Si applica a: SQL Server 2016 e versioni successive di Analysis Services Azure Analysis Services Fabric/Power BI Premium

Tabular Model Scripting Language (TMSL) è la sintassi di definizione del modello a oggetti e dei comandi per i modelli di dati tabulari a livello di compatibilità 1200 o superiore. TMSL comunica con Analysis Services tramite il protocollo XMLA, in cui il XMLA.Execute metodo accetta script di istruzione basati su JSON in TMSL e gli script tradizionali basati su XML nel linguaggio di scripting di Analysis Services (ASSL per XMLA).

Elementi chiave di TMSL:

  • Metadati tabulari basati sulla semantica del modello tabulare.

    Un modello tabulare è costituito da tabelle, colonne e relazioni. Le definizioni di oggetti equivalenti in TMSL sono ora, non sorprendentemente, tabelle, colonne, relazioni e così via. Un nuovo motore di metadati supporta queste definizioni.

  • Le definizioni degli oggetti sono strutturate come JSON anziché XML.

    Ad eccezione del modo in cui il payload viene formattato (in JSON o XML), TMSL e ASSL sono equivalenti a livello funzionale nel modo in cui forniscono comandi e metadati ai metodi XMLA usati per la comunicazione server e il trasferimento dei dati.

Come usare TMSL

Il modo più semplice per esplorare gli script TMSL consiste nell'usare i comandi CREATE, ALTER, DELETE o Process in SQL Server Management Studio (SSMS) in un modello già noto.

  1. Trova il comando da usare: Riferimento TMSL - Comandi

  2. Controllare il riferimento alla definizione dell'oggetto per gli oggetti usati nel comando: Riferimento TMSL - Oggetti

  3. Scegliere un metodo per l'esecuzione dello script TMSL:

Schema di definizione del modello

Il frammento di codice seguente mostra una versione abbreviata dello schema per il livello di compatibilità del database 1200 e superiore, ridotto per mostrare gli oggetti principali.

"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
}

Linguaggi di scripting nei Servizi di Analisi

Analysis Services supporta i linguaggi di scripting ASSL e TMSL. Solo i modelli tabulari creati al livello di compatibilità 1200 o superiore sono descritti in TMS in formato JSON.

Analysis Services Scripting Language (ASSL per XMLA) è stato il primo linguaggio di scripting ed è ancora l'unico linguaggio di scripting per modelli multidimensionali e modelli tabulari a livelli di compatibilità inferiori (1100 o 1103). In ASSL i modelli tabulari a 110x sono descritti in termini multidimensionali, ad esempio cubo (per un modello) e measuregroup (per una tabella).

Annotazioni

Con [SQL Server Data Tools (SSDT), è possibile aggiornare un modello tabulare di una versione precedente per utilizzare TMSL modificando il CompatibilityLevel a 1200 o superiore. Tenere presente che l'aggiornamento è irreversibile. Prima dell'aggiornamento, eseguire il backup del modello nel caso in cui sia necessaria la versione originale in un secondo momento.

La tabella seguente è la matrice del linguaggio di scripting per i modelli di dati di Analysis Services in piattaforme/versioni diverse a livelli di compatibilità specifici.

Versione Multidimensionale Tabular 110x Tabular 1200 Tabulare 1400 Tabulare 1500 Tabulare 1600
Power BI Premium ND ND ND ND TMSL TMSL
Azure Analysis Services ND ND TMSL TMSL TMSL TMSL
SQL Server 2022 Analysis Services ASSL ASSL (Azienda Sanitaria di Servizi alla Persona) TMSL TMSL TMSL TMSL
SQL Server 2019 Analysis Services ASSL ASSL TMSL TMSL TMSL ND
SQL Server 2017 Analysis Services ASSL ASSL TMSL TMSL ND ND
SQL Server 2016 Analysis Services ASSL ASSL TMSL ND ND ND
SQL Server 2014 Analysis Services ASSL ASSL ND ND ND ND
SQL Server 2012 Analysis Services ASSL ASSL ND ND ND ND