PowerBI

【Power BI入門】データフローとは?複数のレポートで使う共通のデータソースを準備する!

ミムチ

最近Power BIで「データフロー」を使うという話を聞いたのですが、そもそも「データフロー」とは何ですかな?

パワ実

Power BIのデータフローとは、クラウド上でデータのETL処理を行い、複数のレポートで再利用可能なデータソースを提供できるものです!

この記事では、Power BIのデータフローとは何かと、データフローの具体的な使い方について解説します!

Power BIのデータフローを使うと、組織で複数のレポートで活用するための、共通のデータを提供することができます。

Power BIデスクトップからの接続方法や、増分更新の設定も解説します。

この記事でわかること
  1. Power BIのデータフローとは何か?
  2. データフローGen1とGen2の違い
  3. データフローの具体的な使い方と必要なライセンス

YouTube動画で見たいかたは、こちらからどうぞ!

Power BIのデータフローとは?

データフローとは?

Power BIのデータフローとは、クラウド上でデータのETL処理を行い、複数のレポートで再利用可能なデータソースを提供できるものです。

ETL処理とは、データの抽出(Extract)、変換(Transform)、読み込み(Load)の英語の頭文字をとったものです。

パワ実

このETL処理は、基本的にPower BIやExcelで使えるPower Queryと同様のUIとなります。

ライセンスと種類

データフローの種類には、データフローGen1と、Gen2の2種類があります。

どちらもETL処理の機能がありますが、データフローGen1は、Power BIのデータソースとなるもので、Gen2はレイクハウスやウェアハウスへ格納する必要があります。

Gen2の方では、データパイプラインとの統合が可能ですが、Gen1はできません。

データフローGen1の方は、Power BI Proや、Premiumのライセンスで使えますが、Gen2の方はFabric容量が必要です。

パワ実

データフローGen1で、データの「増分更新」設定をしたい場合、Premium容量のワークスペースが必要です。

今回はこの2つの内、データフローGen1の方を紹介していきます。

データフローを使うメリット

データフローGen1 を使うメリットの例として、以下のようなシナリオがあります。

たとえば、SharePoint、SQL Server、PostgreSQL などに組織全体のデータを格納しているとします。

その中には複数の部門で、共通で利用できるデータが含まれる一方、すべてのデータに直接アクセスさせたくないこともあります。

このようなとき、データフローを使うと以下のようなことが実現できます。

データフローGen1で実現できること
  • 元データをPower Queryで一度だけ整形すればよい
  • Power BIから直接、元データへアクセスすることを制限できる
  • 必要なデータだけを公開した「共通データソース」を作成できる
  • 複数のレポートで再利用できる「共通データソース」を提供できる

そのためデータフローを使ことで、以下のようなメリットがあります。

データフローGen1のメリット
  • 元のデータベースへの負荷を防げる
  • レポート作成者が Power Queryでのデータ変換ステップを削減できる
  • 一貫したデータ品質と権限管理を担保できる
  • 複数の異なるレポート作成に活用できる
ミムチ

上記のようなことを実現したい場合、データフローの利用を検討した方が良いのですな!

データフローのユースケース

データフローのユースケースとしては、以下の3つのようなケースがあります。

データフローのユースケース
  1. 複数のレポートで同じ前処理ロジックを使い回したい場合
  2. Power BIサービス側の増分更新により、負荷を軽減したい場合
  3. IT部門等が利用してよいデータの品質チェックや、アクセス権限の管理をしたい場合

複数のレポートで同じ前処理ロジックを使い回したい場合

たとえば営業部の「月次売上集計」「地域別KPI」「商品別トレンド」など、複数のレポートで同じデータ変換処理を毎回 Power Query で定義している場合があります。

このとき、データフローで一度だけデータ変換処理を作成して公開すれば、各レポートはそのデータフローをデータソースとして参照するだけで済み、メンテナンス工数を大幅に削減できます。

Power BIサービス側の増分更新により、負荷を軽減したい場合

毎日数百万行の売上明細や、ログデータを前日売上分だけまとめて更新したいなど、重い変換を 毎回全データで更新を行うと時間がかかり、メモリを圧迫してしまいます。

データフローで増分更新の設定をすれば、Power BIサービス上で、更新分のデータだけを自動で処理でき、変換処理の負荷と、更新時間を削減できます。

③IT部門等が利用してよいデータの品質チェックや、アクセス権限の管理をしたい場合

元となるSQL ServerやSharePoint等のデータソースへ直接のアクセスは許可せず、IT部門が承認した「共通のデータソース」を用意したい場合があります。

このとき、データフローを公開し、レポート作成者にはその公開したデータフローのみを参照させることで、データ品質とセキュリティを一元管理できます。

パワ実

上記のようなケースでは、データフローの活用を検討してみましょう!

データフローの具体的な使い方

実際に、データフローGen1の使い方を解説します。

今回は、元となるデータソースとして、SharePointリストの従業員リストがあり、データフローGen1を使い、個人情報となる列を削除する等のデータ変換したものを提供します。

パワ実

Power BIから、データフローに接続する方法や、データフローの増分更新の設定方法も紹介します。

データフローGen1の作成

まずはデータフローGen1を作成します。

1.データフローを作成するには、Power BIサービスの任意のワークスペースを開きます

データフローを使うには、Power BI Proか、Premiumのライセンスが必要です。

2.「新しい項目」を選択します。

3.「Dataflow Gen1」を選択します。

4.以下のこのようなメッセージが表示されたら「いいえ」を選択します。

Dataflow Gen2を使うには、Fabricのライセンスが必要なので注意しましょう。

5.新しいテーブルの定義で「新しいテーブルの追加」を選択します。

6.ここでデータフローで取得するデータソースを選択できるので、今回は「SharePoint Onlineリスト」を選択します。

ミムチ

ExcelやSharePointフォルダー、SharePointリストの他、データフロー、SQL Server、PosgreSQL等もありますな!

パワ実

この後はPower BIデスクトップや、Excelで使えるPower Queryと同様の操作になります!

7.URLには、SharePointリストがあるSharePointサイトのURLを設定します。

※SharePointサイトの「ホーム」タブをクリックしたときのURLをコピーします

今回、このような従業員リスト(EmployeeList)と、ダミーデータを用意しました。

8.実装は2.0で、必要に応じて認証の設定をして「次へ」をクリックします。

9.今回取得するリスト「EmployeeList」にチェックを入れて「データの変換」を選択します。

このでのデータ変換の画面は、ほぼPower BIデスクトップで使っているPower Queryと同様です。

パワ実

例えば、個人情報となる従業員IDや、氏名、メールアドレスは見せたくない場合、列の選択をしたり、入社日からの勤続年数の列を追加しておきたいときは、列を追加したりします。

10.データ変換をしたら「保存して閉じる」を選択します。

11.データフロー名を入力し保存します。

12.「今すぐ更新」をクリックすれば、データフローが更新されます。

ミムチ

これでデータフローの作成は完了ですぞ!

ワークスペースには、以下のようにDataflow Gen1が公開されており、このワークスペースにアクセスできるユーザーが、データフローにアクセスできます。

Power BIからデータフローへの接続

次に、Power BIデスクトップからデータフローに接続してみます。

1.Power BIデスクトップを開き「データを取得」>「データフロー」を選択します。

2.対象のワークスペース、データフローを選択すると、データフローで公開したテーブルが選択できます。

必要なテーブル(今回の場合、EmployeeList)にチェックを入れて「データの変換」を選択します。

Power Queryが開き、取得したデータフローのテーブルに接続できました。

ミムチ

データフローで変換したように、従業員IDや氏名等の個人情報にはアクセスできず、許可されたデータのみにアクセスできる状態ですな!

3.必要であればここでデータ変換をして、「閉じて適用」します。

Dataflowの方で必要なデータ変換処理をしておけば、Power BIデスクトップで接続した際も、Power Queryでのデータ変換のステップを削減することができます。

4.あとは必要なビジュアルを作成し、通常と同じようにPower BIサービスに公開するだけです。

ミムチ

データフローをデータソースにして、Power BIレポートを作成できましたぞ!

データフローの増分更新設定

さいごに、データフローの増分更新設定を解説します。

1.Power BIサービスでデータフローを選択し「増分更新」のアイコンを選択します。

2.デフォルトではオフになっているので「オン」にして、以下の設定をします。

  • フィルター処理する日付またはDateTime列:今回は「更新日時」列
    ⇒増分更新で使うDateTime列を選択します
  • 過去の次の期間の行を保存:今回は「5年」
    ⇒DateTime列で保存する期間を設定します
  • 過去の次の期間の行を更新:今回は「1月」
    ⇒DateTime列で増分更新する期間を設定します
  • データ変更の抽出
    ⇒指定した列のデータで、前回更新時から変更のあったレコードのみが更新の対象となります
  • 完了期間のみを更新 月
    ⇒例えば4月分のデータ更新は、5月に実行されるようになります

3.上記のように設定して「保存」した後、「更新スケジュールを設定する」を選択します。

ワークスペースからも設定画面に遷移できます。

4.「最新の情報に更新」を「オン」にして更新のスケジュール設定をします。

パワ実

これでデータフローの自動更新と増分更新の設定ができました!

ミムチ

ちょっと待ってくだされ!
ワークスペースでデータフローにエラーが出ていますぞ!?

Premium容量のワークスペース以外で増分更新設定をした場合、以下のようにエラーが出るので、気をつけましょう。

さいごに

この記事では、Power BIのデータフローとは何かと、データフローGen1の具体的な使い方について解説しました。

Power BIのデータフローの種類は、データフローGen1とGen2があり、今回はデータフローGen1について紹介しました。

データフローを使うことで、データの「共通化」、「再利用」、「アクセス権管理」等が実現できます。

パワ実

複数のレポートで共通で使うテーブルを用意したい場合は、データフローを使ってみてください!

ABOUT ME
パワ実(Microsoft MVP)
2021年からPower Platform(Power BI、Power Apps、Power Automate)を勉強中。 2023年にIT系・コンサルタントに転職し、仕事でPower Platformを活用したコンサルを行っています。 2025年~Microsoft MVP for Business Applications 受賞 Power Platformを使っていく中で、知りえた情報をブログ、Youtube、Xで発信しています。 Power Platformに関するご相談は以下のページからお願いします! https://www.powerplatformknowledge.com/contact/

Power Platformのご依頼・ご相談について

Power Platformについてのご相談、お仕事のご依頼については、
こちらのお問い合わせページをご確認ください。