適用対象:
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 コマンドを既に知っているモデルで使用することです。
使用するコマンドを見つけます: TMSL リファレンス - コマンド
「TMSL リファレンス - オブジェクト」コマンドで使用されるオブジェクトのオブジェクト定義参照を確認します。
TMSL スクリプトを実行する方法を選択します。
SSMS の XMLA ウィンドウ
Invoke-ASCmd PowerShell コマンドレット
Analysis Services の SSIS での DDL 実行タスク。
モデル定義スキーマ
次のスニペットは、データベース互換性レベル 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 |