次の方法で共有


表形式モデル スクリプト言語 (TMSL) リファレンス

適用対象:Azure Analysis Services Fabric/Power BI Premium SQL Server 2016 以降の Analysis Services

表形式モデル スクリプト言語 (TMSL) は、互換性レベル 1200 以上の表形式データ モデルのコマンドおよびオブジェクト モデル定義構文です。 TMSL は XMLA プロトコルを介して Analysis Services と通信します。 XMLA.Execute メソッドは、TMSL の JSON ベース のステートメント スクリプトと Analysis Services スクリプト言語 (XMLA 用 ASSL) の従来の XML ベースのスクリプトの両方を受け入れます。

TMSL の主な要素:

  • 表形式モデルのセマンティクスに基づく表形式メタデータ。

    テーブル モデルは、テーブル、列、リレーションシップで構成されます。 TMSL の同等のオブジェクト定義は、当然のことながら、テーブル、列、リレーションシップなどです。 新しいメタデータ エンジンでは、これらの定義がサポートされています。

  • オブジェクト定義は、XML ではなく JSON として構造化されます。

    ペイロードの形式 (JSON または XML) を除き、TMSL と ASSL の両方が、サーバー通信とデータ転送に使用される XMLA メソッドにコマンドとメタデータを提供する方法で機能的に同等です。

TMSL の使用方法

TMSL スクリプトを調べる最も簡単な方法は、SQL Server Management Studio (SSMS) の CREATE、ALTER、DELETE、または Process コマンドを既に知っているモデルで使用することです。

  1. 使用するコマンドを見つけます: TMSL リファレンス - コマンド

  2. 「TMSL リファレンス - オブジェクト」コマンドで使用されるオブジェクトのオブジェクト定義参照を確認します。

  3. TMSL スクリプトを実行する方法を選択します。

モデル定義スキーマ

次のスニペットは、データベース互換性レベル 1200 以上のスキーマの省略版を示しています。折りたたまれていると、主なオブジェクトが表示されます。

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

Analysis Services のスクリプト言語

Analysis Services では、ASSL および TMSL スクリプト言語がサポートされています。 1200 互換性レベル以上で作成された表形式モデルのみが、JSON 形式で TMS で記述されます。

Analysis Services Scripting Language (ASSL for XMLA) は最初のスクリプト言語であり、下位互換性レベル (1100 または 1103) の多次元モデルと表形式モデルの唯一のスクリプト言語です。 ASSL では、110 倍のテーブル モデルは、 キューブ (モデルの場合) や メジャー グループ (テーブルの場合) などの多次元用語で記述されます。

[SQL Server Data Tools (SSDT) では、 CompatibilityLevel を 1200 以上に切り替えることで、TMSL を使用するように以前のバージョンの表形式モデルをアップグレードできます。 アップグレードは元に戻せないことに注意してください。 アップグレードする前に、後で元のバージョンが必要な場合に備えて、モデルをバックアップします。

次の表は、特定の互換性レベルのさまざまなプラットフォーム/バージョンにわたる Analysis Services データ モデルのスクリプト言語マトリックスです。

バージョン 多次元 表形式 110x 表形式 1200 表形式 1400 表形式 1500 表形式 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