Delen via


TMSL-referentie (Tabular Model Scripting Language)

Van toepassing op: SQL Server 2016 en hoger Analysis Services Azure Analysis Services Fabric/Power BI Premium

TMSL (Tabular Model Scripting Language) is de syntaxis van de opdracht- en objectmodeldefinitie voor tabellaire gegevensmodellen op compatibiliteitsniveau 1200 of hoger. TMSL communiceert met Analysis Services via het XMLA-protocol, waarbij de XMLA.Execute methode zowel JSON-gebaseerde scripts in TMSL als de traditionele XML-gebaseerde scripts in Analysis Services Scripting Language (ASSL voor XMLA) accepteert.

Belangrijke elementen van TMSL:

  • Metagegevens in tabelvorm op basis van semantiek van tabellaire modellen.

    Een tabellair model bestaat uit tabellen, kolommen en relaties. Equivalente objectdefinities in TMSL zijn nu niet verrassend, tabellen, kolommen, relaties enzovoort. Een nieuwe metagegevensengine ondersteunt deze definities.

  • Objectdefinities zijn gestructureerd als JSON in plaats van XML.

    Met uitzondering van de indeling van de nettolading (in JSON of XML), zijn zowel TMSL als ASSL functioneel gelijkwaardig in hoe ze opdrachten en metagegevens leveren aan XMLA-methoden die worden gebruikt voor servercommunicatie en gegevensoverdracht.

TMSL gebruiken

De eenvoudigste manier om TMSL-scripts te verkennen, is het gebruik van de opdrachten CREATE, ALTER, DELETE of Process in SQL Server Management Studio (SSMS) op een model dat u al kent.

  1. Zoek de opdracht die u wilt gebruiken: TMSL-verwijzing - Opdrachten

  2. Controleer de objectdefinitieverwijzing voor objecten die worden gebruikt in de opdracht: TMSL Reference - Objects

  3. Kies een methode voor het uitvoeren van het TMSL-script:

Modeldefinitieschema

In het volgende fragment ziet u een verkorte versie van het schema voor databasecompatibiliteitsniveau 1200 en hoger, samengevouwen om de belangrijkste objecten weer te geven.

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

Scripttalen in Analysis Services

Analysis Services biedt ondersteuning voor ASSL- en TMSL-scripttalen. Alleen tabellaire modellen die zijn gemaakt op het compatibiliteitsniveau 1200 of hoger, worden beschreven in TMS in JSON-indeling.

Analysis Services Scripting Language (ASSL voor XMLA) was de eerste scripttaal en is nog steeds de enige scripttaal voor multidimensionale modellen en tabellaire modellen met lagere compatibiliteitsniveaus (1100 of 1103). In ASSL worden tabellaire modellen met 110x beschreven in multidimensionale termen, zoals kubus (voor een model) en meetgroep (voor een tabel).

Opmerking

Met SQL Server Data Tools (SSDT) kunt u een tabellair model van een eerdere versie upgraden zodat het TMSL kan gebruiken door zijn CompatibilityLevel aan te passen naar 1200 of hoger. Houd er rekening mee dat de upgrade niet ongedaan kan worden uitgevoerd. Voordat u een upgrade uitvoert, maakt u een back-up van uw model voor het geval u de oorspronkelijke versie later nodig hebt.

De volgende tabel is de scripttaalmatrix voor Analysis Services-gegevensmodellen op verschillende platforms/versies op specifieke compatibiliteitsniveaus.

Versie Multidimensionale Tabel 110x Tabular 1200 Tabular 1400 Tabular 1500 Tabel 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