データフローの作成

データフローとは、Power BI サービスのワークスペースで作成および管理される、テーブルのコレクションです。 テーブルとは、データベース内のテーブルと同様に、データの格納に使用される一連の列です。 データフロー内のテーブルの追加と編集や、データ更新スケジュールの管理は、データフローを作成したワークスペースから直接行うことができます。 データフローを作成するには、ブラウザーで Power BI サービスを起動し、次の画面のように、左側のナビ ペインからワークスペースを選びます (データフローは、Power BI サービスの "マイ ワークスペース" では使用できません)。 新しいデータフローを作成するワークスペースを新しく作成することもできます。 データフローを作成するためのオプションのスクリーンショット。

新しいデータフローを基にして作成または構築する方法は複数あります。

以下のセクションでは、これらのデータフロー作成の各方法について詳しく説明します。

注意

データフローは、Premium ワークスペースのユーザー、Pro ライセンスを持つユーザー、Premium Per User (PPU) ライセンスを持つユーザーが作成できます。

定義済みの新しいテーブルを使ってデータフローを作成する

[Define new tables](新しいテーブルの定義) オプションを使用すると、新しいテーブルを定義し、新しいデータ ソースに接続できます。 データ ソースのオプションを示すスクリーンショット。

  1. 次の図のように、データ ソースを選択すると、データ ソースに接続するときに使用するアカウントなどの接続設定を指定するように求められます。 コネクタとして Azure SQL を選んだ後に表示されるフォームのスクリーンショット。
  2. 接続したら、お使いのテーブルに使用するデータを選択できます。 データとソースを選ぶと、Power BI はデータ ソースに再接続します。 再接続すると、データフロー内のデータは、設定プロセスの後半で選んだ頻度で更新されます。 [データの選択] 画面でのテーブル選択のスクリーンショット。
  3. テーブルで使うデータを選んだ後は、データフロー エディターを使って、お使いのデータフローでの使用に必要な形式に、データを整形または変換できます。

リンク テーブルを使ってデータフローを作成する

リンク テーブルを使ってデータフローを作成すると、別のデータフローで定義されている既存のテーブルを読み取り専用の方法で参照できます。 以下では、この方法を選ぶ理由の一部について説明します。

  • 日付テーブルや静的ルックアップ テーブルなどのテーブルを、複数のデータフローで再利用したい場合。この場合は、テーブルを一度作成し、他のデータフロー全体で参照する必要があります。

  • データ ソースに対して更新を複数作成したくない場合。この場合は、データをキャッシュとして動作するリンク テーブルに格納します。 このようにすると、後続のすべてのコンシューマーがそのテーブルを使い、基になるデータ ソースに対する負荷を軽減できます。

  • 2 つのテーブル間でマージを実行する必要がある場合。

注意

リンク テーブルは、Power BI Premium でのみ使用できます。

計算テーブルを使ってデータフローを作成する

計算テーブルを使ってデータフローを作成すると、リンク テーブルを参照し、書き込み専用の方法でそのテーブルに対して操作を実行できます。 その結果としてデータフローの一部になる、新しいテーブルが作成されます。 リンク テーブルをコンピューティング テーブルに変換する方法は 2 つあります。 マージ操作から新しいクエリを作成できます。 または、テーブルを編集または変換した場合は、テーブルの参照または複製を作成できます。

計算テーブルを作成する方法

一連のテーブルを持つデータフローを用意したら、それらのテーブルに対して計算を実行できます。 Power BI サービスのデータフロー作成ツールで [Edit tables](テーブルの編集) を選択した後、お使いの計算テーブルの基礎として使用する計算を実行するテーブルを右クリックします。 コンテキスト メニューで [参照] を選択します。 計算テーブルの対象になるテーブルでは、次の図のように、 [読み込みを有効にする] を選択する必要があります。 テーブルを右クリックし、このコンテキスト メニューを表示します。

選んだテーブルのコンテキスト メニューのスクリーンショット。[読み込みを有効にする] が強調表示されています。

[読み込みを有効にする] を選択すると、そのソースが参照テーブルである新しいテーブルが作成されます。 次の図のように、アイコンが計算アイコンに変化します。

テーブルの変更済みアイコンが強調表示されたスクリーンショット。

この新規作成したテーブルに実行するすべての変換は、Power BI のデータフロー ストレージに既にあるデータに対して実行されます。 つまり、クエリはデータのインポート元である外部データ ソース (SQL データベースからプルされたデータなど) に対しては実行されないことを意味します。 その代わり、データフロー ストレージに存在するデータに対してクエリが実行されます。

ユース ケースの例

計算テーブルではどのような種類の変換を実行できるでしょうか。 Power BI または M エディターの変換ユーザー インターフェイスを使用して一般的に指定するすべての変換が、ストレージ内計算を実行するときにサポートされます。

次のような例を考えます。お使いの Dynamics 365 サブスクリプション内のすべての顧客の生データを含む Account というテーブルがあるとします。 また、1 年間の日ごとにさまざまなアカウントから実行されたサポート コールのデータを含む、サービス センターからの ServiceCalls という生データもあります。

Account テーブルを ServiceCalls からのデータでエンリッチしたいとします。 最初に、ServiceCalls からのデータを集計して、過去 1 年間に各アカウントで行われたサポート コールの数を計算する必要があります。

[アカウント ID でグループ化] 画面のスクリーンショット。

次に、ServiceCallsAggregated テーブルを Account テーブルにマージして、エンリッチされた Account テーブルを計算します。

[マージ] 画面のスクリーンショット

結果として、次の図のような EnrichedAccount が表示されます。

マージ結果のスクリーンショット

これで完了です。ソース データではなく、Power BI Premium サブスクリプションに存在するデータフロー内のデータに対して変換が実行されています。

注意

計算テーブルは Premium のみの機能です

CDM フォルダーを使ってデータフローを作成する

CDM フォルダーからデータフローを作成すると、Common Data Model (CDM) 形式で別のアプリケーションから書き込まれたテーブルを参照できるようになります。 ADLS Gen 2 に格納されている CDM 形式のファイルへの完全なパスを指定するように求められます。

新しい CDM フォルダーを新しいデータフローに [アタッチ] する画面のスクリーンショット。

次の一覧に示すように、CDM フォルダーからデータフローを作成するための要件がいくつかあります。

  • PBI でファイルにアクセスするには、ADLS Gen 2 アカウントに適切なアクセス許可が設定されている必要があります

  • データフローを作成しようとしているユーザーが、ADLS Gen 2 アカウントにアクセスできる必要があります。

  • URL は JSON ファイルへの直接ファイル パスである必要があり、ADLS Gen 2 エンドポイントが使われる必要があります。blob.core はサポートされていません。

インポート/エクスポートを使ってデータフローを作成する

インポート/エクスポートを使ってデータフローを作成すると、ファイルからデータフローをインポートできます。 このツールは、データフローのコピーをオフライン環境に保存する場合や、データフローをあるワークスペースから別のものに移動する場合に便利です。

データフローをエクスポートするには、作成したデータフローを選択し、 [詳細] メニュー項目 (省略記号) を選択してオプションを展開し、 [.json のエクスポート] を選択します。 CDM 形式で表されたデータフローのダウンロードを開始するように求められます。

その他のドロップダウン メニューが開いた状態で選ばれたデータフローのスクリーンショット。

データフローをインポートするには、インポート ボックスを選択して、ファイルをアップロードします。 Power BI によってデータフローが自動的に作成され、データフローをそのまま保存したり、他の変換を実行したりできます。

データをデータフローに配置することで、Power BI Desktop と Power BI サービスを使って、セマンティック モデル、レポート、ダッシュボード、アプリを作成できます。 これらの新しいリソースから、ビジネス アクティビティに関する分析情報を得ることができます。 以下の記事では、データフローの一般的な使用シナリオについてさらに詳しく説明されています。