次の方法で共有


テーブル モデル パーティションの作成と管理

適用対象: 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 でパーティションを作成および管理するには、パーティション マネージャーを使用します。 [パーティション マネージャー] ダイアログ ボックスを表示するには、[拡張機能>テーブル>パーティション] をクリックするか、テーブル モデル エクスプローラーでテーブルを右クリックし、[パーティション] をクリックします。

新しいパーティションを作成するには

  1. [パーティション マネージャー][テーブル] ボックスの一覧で、パーティション分割するテーブルを確認または選択し、 [新規作成]をクリックします。

  2. [パーティション名]にパーティションの名前を入力します。 既定では、テーブルの名前が指定され、新しいパーティションごとに増分番号が付けられます。

  3. [クエリ式] で、新しいPower Query M 式を編集または指定するか、[デザイン] をクリックしてPower Query エディター開き、パーティションに含めるデータを選択してフィルター処理できます。 レガシ (プロバイダー) データ ソースの場合は、SQL ステートメントを指定するか、[デザイン] をクリックして (SQL) クエリ エディターを開きます。

    大事な: 新しいパーティションを作成する場合、または既存のパーティションをコピーする場合は、新しいパーティション クエリ式でデータの一意の部分が定義されていることを確認します。これにより、2 つ以上のパーティションにレプリケートされたデータが防止されます。

  4. [検証] をクリックします。

パーティションをコピーするには

  1. [パーティション マネージャー][テーブル] ボックスの一覧で、コピーするパーティションが含まれているテーブルを確認または選択します。

  2. [パーティション] リストでコピーするパーティションを選択し、 [コピー]をクリックします。

  3. [パーティション名]にパーティションの新しい名前を入力します。

  4. [クエリ式] で、新しいPower Query M 式を編集または指定するか、[デザイン] をクリックしてPower Query エディター開き、パーティションに含めるデータを選択してフィルター処理できます。

  5. [検証] をクリックします。

SSMS を使用してデプロイされたモデル

配置された表形式モデル データベースのパーティションを作成および管理するには、SSMS の [パーティション] ダイアログ ボックスを使用します。 [パーティション] ダイアログ ボックスを開くには、SSMS でテーブルを右クリックし、[ パーティション] をクリックします。

新しいパーティションを作成するには

  1. [ パーティション ] ダイアログ ボックスで、[ 新規] をクリックします。

  2. [パーティション名]にパーティションの名前を入力します。 既定では、既定のパーティション名に番号が付き、新しいパーティションを作成するたびにその番号が増加します。

  3. [クエリ ステートメント] で、列と含める句を定義するPower Query M または SQL クエリ ステートメントを入力または貼り付けます。

  4. [ 構文の確認 ] をクリックして検証します。

パーティションをコピーするには

  1. [ パーティション ] ダイアログ ボックスの [ パーティション ] ボックスの一覧で、コピーするパーティションを選択し、[ コピー] をクリックします。

  2. [パーティション名]にパーティションの新しい名前を入力します。

  3. [クエリ ステートメント] で、クエリ ステートメントを編集します。

2 つ以上のパーティションをマージするには

  • [ パーティション ] ダイアログ ボックスの [ パーティション ] ボックスの一覧で、Ctrl キーを押しながらクリックしてマージするパーティションを選択し、[ マージ] をクリックします。

重要

パーティションをマージしても、パーティションのメタデータは更新されません。 結果のパーティションの Power Query M または SQL クエリ式を編集して、マージされたパーティション内のすべてのデータが処理されるようにする必要があります。

スクリプトを使用してデプロイされたモデル

パーティションは、表形式モデル スクリプト言語 (TMSL) の Partitions オブジェクト によって定義されます。 パーティションを作成、コピー、または削除するには、 CreaterOrReplaceCreateAlter、または Delete コマンドを実行します 。 パーティションをマージするには、 MergePartitions コマンドを 実行します。

SSMS または PowerShell を使用した TMSL スクリプトの実行の詳細については、「 TMSL の使用方法」を参照してください。

TOM を使用したプログラムによる

パーティションは、Microsoft.AnalysisServices.Tabular 名前空間の Partition クラスによって表されます。 詳細については、「 テーブル、パーティション、列の作成 (TOM)」を参照してください。

こちらもご覧ください

データベース、テーブル、またはパーティションの処理
テーブル モデルでのパーティション