テーブル モデル パーティションの作成と管理
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
パーティションは、テーブルを論理的な部分に分割します。 各パーティションは、他のパーティションとは個別に処理 (更新) できます。 モデル作成時にあるモデルのために定義されたパーティションが、配置済みモデルで複製されます。 配置したら、SQL Server Management Studio (SSMS) の [パーティション] ダイアログ ボックスを使用するか、表形式モデル スクリプト言語 (TMSL) を使用するか、プログラムで表形式オブジェクト モデル (TOM) を使用して、これらのパーティションを管理できます。
Visual Studio のモデル プロジェクト
既定では、表形式モデルの各テーブルには 1 つのパーティションがあります。 このセクションのタスクでは、Partition Manager を使用して、モデル プロジェクトの ワークスペース データベース でパーティションを作成および管理する方法について説明します。 モデルがデプロイされた後 (Azure Analysis Services、SSAS、Power BI)、モデル データベース管理者は、SSMS またはスクリプトを使用して、デプロイされたモデル内のパーティションを作成および管理できます。
パーティション マネージャーを使用して、モデル ワークスペース データベース内のパーティションをマージすることはできません。 パーティションは、SQL Server Management Studioまたはスクリプトを使用してのみマージできます。
Visual Studio でパーティションを作成および管理するには、パーティション マネージャーを使用します。 [パーティション マネージャー] ダイアログ ボックスを表示するには、[拡張機能>テーブル>パーティション] をクリックするか、テーブル モデル エクスプローラーでテーブルを右クリックし、[パーティション] をクリックします。
新しいパーティションを作成するには
[パーティション マネージャー]の [テーブル] ボックスの一覧で、パーティション分割するテーブルを確認または選択し、 [新規作成]をクリックします。
[パーティション名]にパーティションの名前を入力します。 既定では、テーブルの名前が指定され、新しいパーティションごとに増分番号が付けられます。
[クエリ式] で、新しいPower Query M 式を編集または指定するか、[デザイン] をクリックしてPower Query エディター開き、パーティションに含めるデータを選択してフィルター処理できます。 レガシ (プロバイダー) データ ソースの場合は、SQL ステートメントを指定するか、[デザイン] をクリックして (SQL) クエリ エディターを開きます。
大事な: 新しいパーティションを作成する場合、または既存のパーティションをコピーする場合は、新しいパーティション クエリ式でデータの一意の部分が定義されていることを確認します。これにより、2 つ以上のパーティションにレプリケートされたデータが防止されます。
[検証] をクリックします。
パーティションをコピーするには
[パーティション マネージャー]の [テーブル] ボックスの一覧で、コピーするパーティションが含まれているテーブルを確認または選択します。
[パーティション] リストでコピーするパーティションを選択し、 [コピー]をクリックします。
[パーティション名]にパーティションの新しい名前を入力します。
[クエリ式] で、新しいPower Query M 式を編集または指定するか、[デザイン] をクリックしてPower Query エディター開き、パーティションに含めるデータを選択してフィルター処理できます。
[検証] をクリックします。
SSMS を使用してデプロイされたモデル
配置された表形式モデル データベースのパーティションを作成および管理するには、SSMS の [パーティション] ダイアログ ボックスを使用します。 [パーティション] ダイアログ ボックスを開くには、SSMS でテーブルを右クリックし、[ パーティション] をクリックします。
新しいパーティションを作成するには
[ パーティション ] ダイアログ ボックスで、[ 新規] をクリックします。
[パーティション名]にパーティションの名前を入力します。 既定では、既定のパーティション名に番号が付き、新しいパーティションを作成するたびにその番号が増加します。
[クエリ ステートメント] で、列と含める句を定義するPower Query M または SQL クエリ ステートメントを入力または貼り付けます。
[ 構文の確認 ] をクリックして検証します。
パーティションをコピーするには
[ パーティション ] ダイアログ ボックスの [ パーティション ] ボックスの一覧で、コピーするパーティションを選択し、[ コピー] をクリックします。
[パーティション名]にパーティションの新しい名前を入力します。
[クエリ ステートメント] で、クエリ ステートメントを編集します。
2 つ以上のパーティションをマージするには
- [ パーティション ] ダイアログ ボックスの [ パーティション ] ボックスの一覧で、Ctrl キーを押しながらクリックしてマージするパーティションを選択し、[ マージ] をクリックします。
重要
パーティションをマージしても、パーティションのメタデータは更新されません。 結果のパーティションの Power Query M または SQL クエリ式を編集して、マージされたパーティション内のすべてのデータが処理されるようにする必要があります。
スクリプトを使用してデプロイされたモデル
パーティションは、表形式モデル スクリプト言語 (TMSL) の Partitions オブジェクト によって定義されます。 パーティションを作成、コピー、または削除するには、 CreaterOrReplace、 Create、 Alter、または Delete コマンドを実行します 。 パーティションをマージするには、 MergePartitions コマンドを 実行します。
SSMS または PowerShell を使用した TMSL スクリプトの実行の詳細については、「 TMSL の使用方法」を参照してください。
TOM を使用したプログラムによる
パーティションは、Microsoft.AnalysisServices.Tabular 名前空間の Partition クラスによって表されます。 詳細については、「 テーブル、パーティション、列の作成 (TOM)」を参照してください。