はじめに
Power BI サービスには、データソースに接続しデータ分析に適した形にクエリで整形するデータフロー、可視化用のデータモデルであるデータセットがあります。Power BI サービス上でこれらの更新をスケジュール化して自動で行う場合、データフローを更新してから、データセットを更新し... とやっていました。
この方法だとスケジュール更新の設定が30分単位で設定されるため、データフローの更新が終わってから約30分ほど待つことになります。
今回の対応により、データフロー完了をトリガーにより、Power Automateのクラウドフローが発動し、データセットを更新するアクションを実行するので、一連の処理に待ち時間のムダがなくなり、処理時間が大幅に短縮されます。
Before
こちらをPower Automateのクラウドフローを使い、データフローの更新が完了したことをトリガーにデータセットを更新するようにしました。
公式ドキュメント
公式のLearn / ドキュメント(Docs)はこちらです。
概要図等
Power BIのワークスペースの中身はこちら
全体を概要図にするとこんな感じです
After
Power Automateのフロー
トリガーとアクションの中身はこちらです。
アクションを追加して更新が終わったら、Teamsにメッセージを送信するなどもできますね。
トリガー(データフローのスケジュール更新)
こちらはPower BI サービスでスケジュール設定して実行するものです。設定時間後、(即座ではなく順次)実行されます。
今回は9:00に設定していたものが、9:01に実行され、約1分で終わりました。データソースとなるAWS上のAthenaからのデータ取得です。
Power Automateの実行履歴
トリガーが発動し、無事アクションも呼び出してくれたようです。
Power BI データセットの更新確認
更新履歴を見ると、無事更新してくれていました。
呼び出しはスケジュール更新の「計画済み」でも、手動で更新する「オンデマンド」でもなく、Power Automateからの実行は「API経由」となります。
(参考)データ更新確認用のPower BIレポート
管理用にデータの更新時間や件数確認用ボードを作っておくと、確認しやすく便利です~
(参考)Power Appsのデータフローでも利用可能
データフローの更新完了トリガーは、Power Appsのデータフローでも、もちろん使えます。
グループの種類でどちらを使うかを決めます。
- Workspace Power BIの場合
- Environment Power Appsの場合
更新回数の制限は通常利用と同じ
Power Automate経由の更新も、通常の回数制限と同じです。Power BI Proなら8回/日、Power BI Premium系なら48回/日です。
おわりに
Power Platform内での連携、シンプルにスマートにできてありがたいです。