Riferimento al Tabular Model Scripting Language (TMSL)
Si applica a: SQL Server 2016 e versioni successive di Analysis Services Azure Analysis Services Fabric/Power BI Premium
Il linguaggio TMSL (Tabular Model Scripting Language) è la sintassi di definizione del modello a oggetti e dei comandi per i modelli di dati tabulari al livello di compatibilità 1200 o superiore. TMSL comunica con Analysis Services tramite il protocollo XMLA, in cui il XMLA.Execute
metodo accetta sia script di istruzione basati su JSON in TMSL che gli script tradizionali basati su XML in Analysis Services Scripting Language (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 funzionalmente equivalenti nel modo in cui forniscono comandi e metadati ai metodi XMLA usati per la comunicazione del 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.
Trovare il comando che si vuole usare: Riferimento TMSL - Comandi
Controllare il riferimento alla definizione dell'oggetto per gli oggetti usati nel comando: Riferimento TMSL - Oggetti
Scegliere un metodo per l'esecuzione dello script TMSL:
Finestra XMLA in SSMS
Invoke-ASCmd Cmdlet di PowerShell
Schema di definizione del modello
Lo screenshot seguente mostra una versione abbreviata dello schema, compressa per mostrare gli oggetti principali.
Linguaggi di scripting in Analysis Services
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 i modelli multidimensionali e i 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).
Nota
In [SQL Server Data Tools (SSDT) è possibile aggiornare un modello tabulare di versione precedente per usare TMSL passando da CompatibilityLevel a 1200 o versione successiva. 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 | Tabulare 110x | Tabulare 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 | 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 | N/D |