Model オブジェクト (TMSL)

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

表形式モデルを定義します。 データベースごとに 1 つのモデルがあり、任意のコマンドで指定できるデータベースは 1 つだけです。 Database オブジェクトは親オブジェクトです。

モデル定義が大きすぎるため、1 つのトピックで構文全体を再現できます。 このため、子オブジェクトへのリンクを含む、メインパーツを強調表示する部分的な構文を以下に示します。

おそらく、モデル定義を理解する最善の方法は、よく知っている表形式モデルから始める方法です。 SQL Server Data Toolsの [コードの表示] オプションを使用して、その定義を表示します。 コードを表示できるように、必ず JSON エディターをインストールしてください。 Visual Studio で JSON エディターを取得するには、 コミュニティ エディション または Visual Studio の他のエディションをダウンロードします。

注意

どのスクリプトでも、一度に参照できるデータベースは 1 つだけです。 データベース自体以外のオブジェクトの場合、モデルを指定する場合、Database プロパティは省略可能です。 モデルとデータベースの間には、明示的に指定されていない場合にデータベース名を推測するために使用できる 1 対 1 のマッピングがあります。
同様に、Model を省略して、データベースのプロパティを設定することもできます。

オブジェクト定義

すべてのオブジェクトには、名前、型、説明、プロパティ コレクション、注釈など、共通のプロパティ セットがあります。 モデル オブジェクトには、次のプロパティもあります。

storageLocation
モデルを配置するディスク上の場所です。

defaultMode
データをパーティションで利用できるようにする既定のメソッドです。

defaultDataView
DirectQuery モードのモデルの場合、このプロパティは、モデルに対してクエリを実行するために使用されるパーティションを決定します。 有効な値には、Full と Sample が含まれます。

culture
書式設定に使用するカルチャ。

照合順序 (collation)
照合順序です。

テーブル
パーティション、列、メジャー、KPI、注釈など、モデル内のテーブルの完全なコレクション。 詳細については、「 Tables オブジェクト (TMSL)」 を参照してください。

relationships
フィルターの方向とセキュリティを設定するプロパティなど、テーブルの各ペア間のリレーションシップを指定します。 詳細については、「 Relationships オブジェクト (TMSL)」 を参照してください。

dataSources
モデルにデータを提供する外部データベースへの 1 つ以上の接続、またはクエリのパススルーに使用します。 詳細については、「 DataSources オブジェクト (TMSL)」 を参照してください。

roles
カスタム アクセス制御用の DAX のデータベース アクセス許可、メンバー アカウント、および必要に応じてセキュリティ フィルターを関連付けるオブジェクト。

使用

モデル オブジェクトには、モデル全体が含まれています。 ほとんどのコマンドでは、1 つの Model オブジェクトまたはその親 Database オブジェクトを指定する必要があります。

モデル オブジェクトを作成、置換、または変更する場合は、オブジェクト定義のすべての読み取り/書き込みプロパティを指定します。 読み取り/書き込みプロパティの省略は削除と見なされます。

部分的な構文

このオブジェクト定義は非常に大きいため、最初のレベルのプロパティのみが一覧表示されます。 子オブジェクトの一覧については、「 表形式モデル スクリプト言語 (TMSL) のオブジェクト定義」 を参照してください。

    "model": {  
      "description": "Model object of a tabular database",  
      "type": "object",  
      "properties": {  
          "name": {  },  
          "description": {  },  
         "storageLocation": {  },  
         "defaultMode":  {  },  
         "defaultDataView": {  },  
         "culture": {  },  
         "collation": {  },  
         "annotations": {  },  
         "tables": {  },  
         "relationships": {  },  
         "dataSources": {  },  
         "perspectives": {  },  
            "cultures": {  },  
         "roles": {  }  
    }