次の方法で共有


環境とワークスペース間でデータフローを再利用する場合のベスト プラクティス

この記事では、データフローを効果的かつ効率的に再利用するためのベスト プラクティスについて説明します。 再利用するデータフローを開発する場合に、設計上の落とし穴や潜在的なパフォーマンスの問題を回避するには、この記事を参照してください。

ステージングまたは抽出データフローからデータ変換データフローを分離する

データフローがすべてのアクションを実行する場合、そのテーブルを他のデータフローや目的で再利用することは困難です。 再利用するのに最適なデータフローは、少数のアクションのみを実行するデータフローです。 1 つの特定のタスクに特化したデータフローの作成は、それらを再利用するための最適な方法の 1 つです。 ステージング データフローとして使用する一連のデータフローがある場合、その唯一のアクションは、ソース システムからデータをそのまま抽出することです。 これらのデータフローは、他の複数のデータフローで再利用できます。

データ変換データフローがある場合は、一般的な変換を実行するデータフローに分割できます。 各データフローでは、少数のアクションだけを実行できます。 データフローごとに少数のアクションを実行することにより、そのデータフローの出力は他のデータフローで再利用可能になります。

Dataflow doing only a few actions.

データ ソースからステージング データフローへのデータの抽出を示す画像。テーブルは Dataverse または Azure Data Lake Storage に格納され、 その後、データが変換のデータフローに移動されて、データ ウェアハウスの構造に変換されます。 そして最後に、データが Power BI セマンティック モデルに読み込まれます。

複数のワークスペースを使用する

各ワークスペース (または環境) は、そのワークスペースのメンバーのみ使用できます。 すべてのデータフローを 1 つのワークスペースに構築すると、データフローの再利用は最小限に抑えられます。 会社全体のテーブルを処理するデータフローに対し、汎用ワークスペースをいくつか作成できます。 また、データフロー用のワークスペースを用意し、複数の部門にまたがるテーブルを処理することもできます。 また、特定の部門でのみ使用されるデータフロー用のワークスペースを使用することもできます。

Image showing the separate workspaces.

ワークスペースに適切なアクセス レベルを設定する

他のワークスペースのデータフローにアクセスしてワークスペース内のデータフローの出力を使用するには、ワークスペースの [表示] アクセス権を与える必要があります。 Power BI ワークスペース内の他のロールの詳細については、「新しいワークスペースのロール」を参照してください。

Screenshot showing how to access to the Power BI workspace.

Power BI のデータフローの承認

テナント組織では多くのデータフローが作成される可能性があります。また、どのデータフローが最も信頼性が高いのかユーザーからわかりにくい場合もあります。 データフローの作成者や、データフローの編集アクセス権を持つユーザーは、承認なし、昇格済み、認定済みの 3 つのレベルでデータフローを承認できます。

これらのレベルの承認は、ユーザーが信頼性の高いデータフローをより簡単かつ迅速に見つけるのに役立ちます。 承認レベルの高いデータフローが最初に表示されます。 Power BI 管理者は、データフローを認定レベルに承認する機能を他のユーザーに委任できます。 詳細については、「承認 - Power BI コンテンツの昇格と認定」を参照してください。

Screenshot of the Power Query Navigator showing the promoted and certified endorsement labels on specific dataflows.

複数のデータフローでテーブルを分離する

1 つのデータフローに複数のテーブルが含まれる場合があります。 テーブルを複数のデータフローに分割する理由の 1 つが、この記事の前半で学習したように、データ インジェストとデータ変換のデータフローを分離することです。 ほかにも、テーブルごとに異なる更新スケジュールを設定するために、テーブルを複数のデータフローに分割する場合があります。

次の図に示す例では、売上テーブルを 4 時間ごとに更新する必要があります。 現在の日付レコードを更新するには、日付テーブルを 1 日に 1 回だけ更新する必要があります。 また、製品マッピング テーブルは週に 1 回だけ更新する必要があります。 これらのテーブルがすべて 1 つのデータフローにある場合、すべてのテーブルに対して更新オプションは 1 つのみです。 しかし、これらのテーブルを複数のデータフローに分割する場合は、各データフローの更新を個別にスケジュールできます。

Image showing dataflows with different schedules for the refresh.

データフロー テーブルに適したテーブル

デスクトップ ツールの Power Query を使用してソリューションを開発する場合は、次の質問が必要になる場合があります。これらのテーブルの中で、データフローに移動する候補として最適なテーブルは何ですか? 複数のソリューション、または複数の環境やサービスで使用することが必要なテーブルは、データフローへの移動に非常に適しています。 たとえば、次の図に示す Date テーブルは、2 つの個別の Power BI ファイルで使用する必要があります。 各ファイルでそのテーブルを複製するのではなく、データフロー内のテーブルをテーブルとして作成し、それらの Power BI ファイルで再利用してください。

Image showing a shared table used in a dataflow.