Sdílet prostřednictvím


Referenční dokumentace jazyka TMSL (Tabular Model Scripting Language)

Platí pro: SQL Server 2016 a novější Analysis Services Azure Analysis Services Fabric/ Power BI Premium

Jazyk Tabular Model Scripting Language (TMSL) je syntaxe příkazů a definice objektů modelu pro skriptování tabulkových datových modelů na úrovni kompatibility 1200 nebo vyšší. TMSL komunikuje se službou Analysis Services prostřednictvím protokolu XMLA, kde XMLA.Execute metoda přijímá skripty příkazů založené na formátu JSON v TMSL i tradiční skripty založené na JAZYCE XML ve skriptovacím jazyce Analysis Services (ASSL pro XMLA).

Klíčové prvky TMSL:

  • Tabulková metadata založená na sémantice tabulkového modelu

    Tabulkový model se skládá z tabulek, sloupců a relací. Ekvivalentní definice objektů v TMSL jsou nyní, ne překvapivě, tabulky, sloupce, relace atd. Nový modul metadat podporuje tyto definice.

  • Definice objektů jsou strukturované jako JSON místo XML.

    S výjimkou formátování datové části (ve formátu JSON nebo XML) jsou TMSL i ASSL funkčně ekvivalentní v tom, jak poskytují příkazy a metadata metodÁM XMLA používaným pro komunikaci serveru a přenos dat.

Jak používat TMSL

Nejjednodušší způsob, jak prozkoumat skriptování TMSL, je použití příkazů CREATE, ALTER, DELETE nebo Process v aplikaci SQL Server Management Studio (SSMS) v modelu, který už znáte.

  1. Najděte příkaz, který chcete použít: TMSL Reference – Příkazy

  2. Zkontrolujte odkaz na definici objektu pro objekty použité v příkazu: TMSL Reference – Objekty.

  3. Zvolte metodu pro spuštění skriptu TMSL:

Schéma definice modelu

Následující fragment kódu ukazuje zkrácenou verzi schématu pro úroveň kompatibility databáze 1200 a vyšší, sbalená tak, aby zobrazovala hlavní objekty.

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

Skriptovací jazyky ve službě Analysis Services

Služba Analysis Services podporuje skriptovací jazyky ASSL a TMSL. V TMS ve formátu JSON jsou popsány pouze tabulkové modely vytvořené na úrovni kompatibility 1200 nebo vyšší.

Skriptovací jazyk služby Analysis Services (ASSL pro XMLA) byl prvním skriptovacím jazykem a stále je jediným skriptovacím jazykem pro multidimenzionální modely a tabulkové modely na nižších úrovních kompatibility (1100 nebo 1103). V ASSL jsou tabulkové modely s 110x popsány v multidimenzionálních termínech, jako je například datová krychle (pro model) a skupina měr (pro tabulku).

Poznámka:

V nástroji [SQL Server Data Tools (SSDT) můžete upgradovat starší verzi tabulkového modelu k použití TMSL tím, že přepnete Kompatibilitu na úroveň 1200 nebo vyšší. Mějte na paměti, že upgrade je nevratný. Před upgradem zálohujte model pro případ, že budete později potřebovat původní verzi.

Následující tabulka je matice skriptovacího jazyka pro datové modely Analysis Services napříč různými platformami a verzemi na konkrétních úrovních kompatibility.

Version Vícerozměrné Tabulkový 110x Tabulkový 1200 Tabulkový 1400 Tabulkový 1500 Tabulkový 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