Táblázatos modellszkriptnyelv (TMSL) referenciája

A következőkre vonatkozik: SQL Server 2016 és újabb Analysis Services Azure Analysis Services Fabric/Power BI Premium

A táblázatos modellszkriptnyelv (TMSL) a táblázatos adatmodellek parancs- és objektummodell-definíciós szintaxisa az 1200-es vagy újabb kompatibilitási szinten. A TMSL az XMLA protokollon keresztül kommunikál az Analysis Servicesszel, ahol a XMLA.Execute metódus fogadja a JSON-alapú utasításszkripteket a TMSL-ben, valamint a hagyományos XML-alapú szkripteket az Analysis Services szkriptelési nyelvében (AZ XMLA-hoz készült ASSL).

A TMSL főbb elemei:

  • Táblázatos metaadatok táblázatos modell szemantikán alapulnak.

    A táblázatos modell táblákból, oszlopokból és kapcsolatokból áll. A TMSL egyenértékű objektumdefiníciói most már nem meglepő módon táblák, oszlopok, kapcsolatok stb. Egy új metaadatmotor támogatja ezeket a definíciókat.

  • Az objektumdefiníciók XML helyett JSON-ként vannak strukturálva.

    A hasznos adatok formázásának (JSON-ban vagy XML-ben) kivételével a TMSL és az ASSL is funkcionálisan egyenértékű azzal, ahogyan parancsokat és metaadatokat biztosítanak a kiszolgálói kommunikációhoz és adatátvitelhez használt XMLA-metódusoknak.

A TMSL használata

A TMSL-szkriptek megismerésének legegyszerűbb módja a CREATE, ALTER, DELETE vagy Process parancsok használata az SQL Server Management Studióban (SSMS) egy már ismert modellen.

  1. Keresse meg a használni kívánt parancsot: TMSL-referencia – Parancsok

  2. A következő parancsban használt objektumok objektumdefiníciós referenciájának ellenőrzése: TMSL-referencia – Objektumok

  3. Válasszon egy metódust a TMSL-szkript végrehajtásához:

Modelldefiníciós séma

Az alábbi kódrészlet a séma rövidített verzióját jeleníti meg az 1200-es és újabb adatbázis-kompatibilitási szinthez, összecsukva a fő objektumok megjelenítéséhez.

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

Szkriptelési nyelvek az Analysis Servicesben

Az Analysis Services támogatja az ASSL- és TMSL-szkriptnyelveket. Csak az 1200 kompatibilitási szinten vagy annál magasabb szinten létrehozott táblázatos modelleket írja le A TMS JSON formátumban.

Az Analysis Services szkriptnyelve (AZ XMLA-hoz készült ASSL) volt az első szkriptnyelv, és továbbra is az egyetlen szkriptnyelv a többdimenziós modellekhez és a táblázatos modellekhez alacsonyabb kompatibilitási szinteken (1100 vagy 1103). Az ASSL-ben a 110-szeres táblázatos modellek többdimenziós kifejezésekben vannak leírva, például kocka (modell esetén) és mértékcsoport (táblázat esetén).

Megjegyzés:

Az [SQL Server Data Tools (SSDT) alkalmazásban frissíthet egy korábbi, táblázatos verziójú modellt a TMSL használatára a kompatibilitási szint 1200-as vagy újabb verziójára való váltásával. Ne feledje, hogy a frissítés visszafordíthatatlan. A frissítés előtt biztonsági másolatot készít a modellről, ha később szüksége lesz az eredeti verzióra.

Az alábbi táblázat az Analysis Services-adatmodellek szkriptelési nyelvi mátrixa különböző platformokon/verziókban, adott kompatibilitási szinteken.

verzió Többdimenziós Táblázatos 110x Táblázatos 1200 Táblázatos 1400 Táblázatos 1500 Táblázatos 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