Freigeben über


TMSL-Referenz der tabellarischen Modell-Skriptsprache

Gilt für: SQL Server 2016 und höher Analysis Services Azure Analysis Services Fabric/Power BI Premium

Tabular Model Scripting Language (TMSL) ist die Befehls- und Objektmodelldefinitionssyntax für tabellarische Datenmodelle auf Kompatibilitätsstufe 1200 oder höher. TMSL kommuniziert mit Analysis Services über das XMLA-Protokoll, in dem die XMLA.Execute Methode sowohl JSON-basierte Anweisungsskripts in TMSL als auch die herkömmlichen XML-basierten Skripts in Analysis Services Scripting Language (ASSL für XMLA) akzeptiert.

Wichtige Elemente von TMSL:

  • Tabellarische Metadaten basierend auf tabellarischen Modellsemantik.

    Ein tabellarisches Modell besteht aus Tabellen, Spalten und Beziehungen. Äquivalente Objektdefinitionen in TMSL sind jetzt nicht überraschend, Tabellen, Spalten, Beziehungen usw. Ein neues Metadatenmodul unterstützt diese Definitionen.

  • Objektdefinitionen sind als JSON anstelle von XML strukturiert.

    Mit Ausnahme der Formatierung der Nutzlast (in JSON oder XML) sind TMSL und ASSL funktionell gleichbedeutend mit der Bereitstellung von Befehlen und Metadaten zu XMLA-Methoden, die für die Serverkommunikation und Datenübertragung verwendet werden.

So verwenden Sie TMSL

Die einfachste Möglichkeit zum Erkunden von TMSL-Skripts besteht darin, die Befehle CREATE, ALTER, DELETE oder Process in SQL Server Management Studio (SSMS) für ein bereits bekanntes Modell zu verwenden.

  1. Suchen Sie den befehl, den Sie verwenden möchten: TMSL-Referenz - Befehle

  2. Überprüfen Sie den Objektdefinitionsverweis auf Objekte, die im Befehl verwendet werden: TMSL-Referenz - Objekte

  3. Wählen Sie eine Methode zum Ausführen des TMSL-Skripts aus:

Modelldefinitionsschema

Der folgende Codeausschnitt zeigt eine abgekürzte Version des Schemas für die Datenbankkompatibilitätsebene 1200 und höher, reduziert, um die hauptobjekte anzuzeigen.

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

Skriptsprachen in Analysis Services

Analysis Services unterstützt ASSL- und TMSL-Skriptsprachen. Nur tabellarische Modelle, die auf der Kompatibilitätsebene von 1200 oder höher erstellt wurden, werden in TMS im JSON-Format beschrieben.

Analysis Services Scripting Language (ASSL for XMLA) war die erste Skriptsprache und ist weiterhin die einzige Skriptsprache für multidimensionale Modelle und Tabellarische Modelle auf niedrigeren Kompatibilitätsebenen (1100 oder 1103). In ASSL werden tabellarische Modelle mit 110x in mehrdimensionalen Ausdrücken beschrieben, z. B. Würfel (für ein Modell) und Measuregruppe (für eine Tabelle).

Hinweis

In [SQL Server Data Tools (SSDT) können Sie ein tabellarisches Modell einer früheren Version aktualisieren, um TMSL zu verwenden, indem Sie das CompatibilityLevel auf 1200 oder höher umschalten. Denken Sie daran, dass das Upgrade unumkehrbar ist. Sichern Sie vor dem Upgrade Ihr Modell, falls Sie die ursprüngliche Version später benötigen.

Die folgende Tabelle ist die Skriptsprachenmatrix für Analysis Services-Datenmodelle auf verschiedenen Plattformen/Versionen auf bestimmten Kompatibilitätsebenen.

Version Mehrdimensional Tabellen 110x Tabular 1200 Tabular 1400 Tabular 1500 Tabular 1600
Power BI Premium NA NA NA NA TMSL TMSL
Azure Analysis Services (Azure-Analysedienste) 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