Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
SQL Server 2016 et versions ultérieures Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Le langage TMSL (Tabular Model Scripting Language) est la syntaxe de définition de modèle objet et de commande pour les modèles de données tabulaires au niveau de compatibilité 1200 ou supérieur. TMSL communique avec Analysis Services via le protocole XMLA, où la méthode XMLA.Execute accepte les scripts JSON d’instruction dans TMSL ainsi que les scripts XML traditionnels dans Analysis Services Scripting Language (ASSL pour XMLA).
Éléments clés de TMSL :
Métadonnées tabulaires basées sur la sémantique du modèle tabulaire.
Un modèle tabulaire est composé de tables, de colonnes et de relations. Les définitions d’objets équivalentes dans TMSL sont désormais, sans surprise, les tables, les colonnes, les relations, etc. Un nouveau moteur de métadonnées prend en charge ces définitions.
Les définitions d’objets sont structurées en tant que JSON au lieu de XML.
À l’exception de la mise en forme de la charge utile (au format JSON ou XML), TMSL et ASSL sont fonctionnellement équivalents dans la façon dont ils fournissent des commandes et des métadonnées aux méthodes XMLA utilisées pour la communication et le transfert de données serveur.
Comment utiliser TMSL
Le moyen le plus simple d’explorer les scripts TMSL consiste à utiliser les commandes CREATE, ALTER, DELETE ou Process dans SQL Server Management Studio (SSMS) sur un modèle que vous connaissez déjà.
Recherchez la commande que vous souhaitez utiliser : Référence TMSL - Commandes
Vérifiez la référence de définition d’objet pour les objets utilisés dans la commande : Référence TMSL - Objets
Choisissez une méthode pour exécuter le script TMSL :
Fenêtre XMLA dans SSMS
Invoke-ASCmd Applet de commande PowerShell
Analysis Services exécute la tâche DDL dans SSIS.
Schéma de définition de modèle
L’extrait de code suivant montre une version abrégée du schéma pour le niveau de compatibilité de base de données 1200 et versions ultérieures, réduite pour afficher les objets principaux.
"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
}
Langages de script dans Analysis Services
Analysis Services prend en charge les langages de script ASSL et TMSL. Seuls les modèles tabulaires créés au niveau de compatibilité 1200 ou niveau supérieur sont décrits dans TMS au format JSON.
Analysis Services Scripting Language (ASSL pour XMLA) était le premier langage de script et est toujours le seul langage de script pour les modèles multidimensionnels et les modèles tabulaires aux niveaux de compatibilité inférieurs (1100 ou 1103). Dans ASSL, les modèles tabulaires à 110x sont décrits en termes multidimensionnels, tels que le cube (pour un modèle) et le groupe de mesures (pour une table).
Note
Dans [SQL Server Data Tools (SSDT), vous pouvez mettre à niveau un modèle tabulaire d'une version antérieure pour utiliser TMSL en ajustant son niveau de compatibilité à 1200 ou à un niveau supérieur. N’oubliez pas que la mise à niveau est irréversible. Avant la mise à niveau, sauvegardez votre modèle si vous avez besoin de la version d’origine ultérieurement.
Le tableau suivant est la matrice de langage de script pour les modèles de données Analysis Services sur différentes plateformes/versions à des niveaux de compatibilité spécifiques.
| Version | Multidimensionnel | Tabulaire 110x | Tabulaire 1200 | Tabulaire 1400 | Tabulaire 1500 | Tabulaire 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 |