Power BI上にPower Appsを表示させてリアルタイムに更新、反映させよう! Dataverseで


はじめに

 Power BI上にPower Appsを表示させ、Power BIのフィルターでPower Apps内のデータも動かしてみましょう。更新もリアルで反映させます。
データソースは、Microsoft Dataverse(旧名 Common Data Service)で、TDS endpointをオンにして、Power BIからはDirectQueryモードでつなぎます。

Microsoft Dataverseのデータ準備

 Power Appsは、Dataverseが使えるライセンス、環境で行います(私は、Per Userライセンスを使用)。
 Power Appsの[データ]/[テーブル]から、新しいテーブルを作成します。

 Excelの元データを、Power Appsの[データ]/[データフロー]で、取り込みます。
Power Queryの使い勝手は、Power BIのものとほぼ同じですね。データの型を指定する等行います。

マップテーブルも進めて...

取り込みを実行して...

ビューの選択を全てにすると、無事取り込まれました。

TDS endpointに関する設定

 Power BI からDirectQueryモードでDataverseに接続するには、Power Apps側で設定がいります。Power Appsの右上のギアマークより、Power Platform管理センターにいきます。

 対象の環境を選び

 [設定]/[製品][機能]へ

右下の[TDS endpoint]を有効にします。

Power BIから接続

 Power Appsの[データ]/[テーブル]を選択したときに、上にある[Power BIで分析]より、pbidsファイルをダウンロードします。それを開くと、POwer BI Desktopが立ち上がります。サインインではM365の認証を行い接続すると...

前述のTDS endpointの設定をしていないと、このようなエラーになります。

ナビゲーターまできました。

あとはいつも、Power Queryでデータの確認、ビジュアル作りなので、ここは割愛します。

右下をみると、DirectQueryでつながっていることがわかりますね。

Power Apps for Power BIを呼び出す

 一定のエリアを開けておいた上で、[視覚化]から[Power Apps for Power BI]を呼び出します。

 Power Appsで呼び出すフィールドを適当に[視覚化]の[Power Apps Data]に指定します。
 Power Appsのビジュアル部分の左上からDataverseがあるPower Apps環境を選びます。

 そして新規に作成します

Power Appsでアプリ作り

 この流れで呼び出されたたPower Appsは、「PowerBIIntegration」というコネクターが追加されています。そして、Power BIで表示していたDataversceのデータが呼び出されます。

 アプリを好みに整えます(詳細は割愛します)

 保存、共有したら、一度Power Appsはブラウザを閉じて終了します。

 Power BI Desktopに戻るとアプリが表示されるものの、データが表示されないかもです。ここで、Power BI Serviceに発行します。

Power BI Serviceでの微修正

 

 データソースの接続でエラーが出ているようです。データセットの設定を見てみましょう。

 初めての発行で、資格情報がないことがわかります。M365の認証を行い、接続を完了させます。

プライバシーレベルの設定は[Organizational]です。

ビジュアルに戻り、リロードすると無事表示されました。Power BIで絞り込むと、Power Appsも合わせて絞り込まれます。

Power Appsに編集画面を追加

 Power BI Serviceで編集にして、Power Appsを編集にします。

 新規に編集画面用のフォームを追加します。

 EditForm1のデータソースで、DataVersiseを指定します。

必要な項目を表示したりします(この辺りは通常のPower Appsの操作で)

Screen1からのOnSelectに、EditForm1をEditFormモードと明示します。

Select(Parent);EditForm(EditForm1);Navigate(Screen2)

EditForm1のDataSouceを指定します

Item属性で、LookUpさせます。

LookUp(乃木坂名簿, 名前 = Gallery1.Selected.名前)

 OnSuccessに、更新メッセージと、画面移動、加えてPowerBIIntegrationのRefreshを入れます(ここが大事)

Notify("更新しました",NotificationType.Success,1000);
Navigate(Screen1);PowerBIIntegration.Refresh()

Power Appsを保存、発行し閉じます。Power BI Serviceでも保存して、閲覧表示にします。ブラウザのリロードを行い、動作確認します。

更新されました~

おわりに

 とても便利です... お試しを。