12
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Microsoft Power BIAdvent Calendar 2021

Day 19

Power Apps モデル駆動型アプリにPower BIレポートを埋めこんでみる

Last updated at Posted at 2021-12-19

どうも、こんにちは、susumutanakaです。

#前書き
毎年この時期になると、さまざまなアドベントカレンダー企画があり楽しいですよねー。
いつもPower BIは恒例企画として参加してますが、今年のネタは
何にしようかと考えてましたが、筆不精ということもあり、さらっとできるネタで行きます!

じゃぁ、何かというと
今年デモ作成でやったPower Apps(厳密にはDynamics)のモデル駆動型アプリへの
Power BIレポートの埋め込みにしたいと思います。
一癖あったので、まとめて置くという意味でもいいのではないかと思っております。

こんな感じのものができあがります。
image.png

#参考URL

まずは、みんな大好きなMicrosoft Docsの参考URLです(笑)
※見慣れてくると、愛着がわくものかなと。。

◆Power BI レポートをモデル駆動型アプリのメイン フォームに埋め込む
https://docs.microsoft.com/ja-jp/powerapps/maker/model-driven-apps/embed-powerbi-report-in-system-form

#埋め込みパターンは2つ
埋め込みについては2パターンあります
①コンテキストのフィルター処理なしで埋め込む
②コンテキストのフィルター処理で埋め込む

「①コンテキストのフィルター処理なしで埋め込む」に関しては、
ただ埋め込んでいるだけ、何か絞り込みがあるわけではありません。

「②コンテキストのフィルター処理で埋め込む」に関しては、
モデル駆動のベースとなっているテーブルの対象レコードの値をベースに絞り込むことができるので、
こちらの方が実用的ではないかと思われます。

じゃぁ、今回はどっちということですが、とりあえず、さらっとできる
「①コンテキストのフィルター処理なしで埋め込む」でいきます。
※②については、のちのちUpdateもしくは、新規記事にでもしますわーm(__)m

#作り方の概要:
1.Power BIレポートの作成(ここは割愛)
2.Power Apps(厳密にはDynamicsな)モデル駆動アプリの作成(ここも割愛)
3.ソリューションエクスポート ※なぜか、一度ソリューションとして出力
4.ソリューションファイル内に、Power BIレポートのURLを埋め込む
5.ソリューションファイルのインポート

ざっと、こんな感じでしょうか?

#1.Power BIレポートの作成
割愛といいつつも何らかしら用意せねばならず、一般公開されているレポートでも埋めこんでみますかー
と思いましたが、埋め込むには、以下のパラメータが必要なため、サンプルレポートでも埋めこんでみますかなー

プロパティ
image.png
参考URL:
https://docs.microsoft.com/ja-jp/powerapps/maker/model-driven-apps/embed-powerbi-report-in-system-form#embed-without-contextual-filtering

サンプルの読み込み
https://docs.microsoft.com/ja-jp/power-bi/create-reports/sample-customer-profitability#download-the-built-in-sample

読み込むと
image.png

このレポートのURLからパラメータの確認
image.png

こんな感じのURLなので
""
https://app.powerbi.com/groups/3644785b-2fc7-4343-afc2-ca4ce230b684/reports/f84a4a93-6bf1-4394-bc79-93481d6d6e02/ReportSection1
""

グループIDとレポートIDとは取得できますので、埋め込むパラメータとしてこんな感じ

パラメータ
groups 3644785b-2fc7-4343-afc2-ca4ce230b684
reports f84a4a93-6bf1-4394-bc79-93481d6d6e02
TitleURL https://app.powerbi.com/reportEmbed?reportId=f84a4a93-6bf1-4394-bc79-93481d6d6e02

これでレポート側の準備は完了。

#2.Power Appsのモデル駆動の作成

これも出来合いのものでいいので用意。今回はこんな感じものを用意

image.png

まだ埋め込んでないですが、専用タブを用意。

ソリューションファイルとしてこんな感じで1フォームだけ用意しましょう!
image.png

#3.ソリューションファイルのエクスポート
準備ができたら、ソリューションファイルのエクスポート

image.png

image.png

実行チェック前チェックを完了して、次へをクリック!
こんなのいつの間についたw

エクスポート完了!!

#4.ソリューションファイル内に、Power BIレポートのURLを埋め込む

出てきたZIPファイル内のXMLファイルの編集を行っていきます。

image.png

パラメータを参照しながら、以下の値を入力しましょう!

パラメータ
groups 3644785b-2fc7-4343-afc2-ca4ce230b684
reports f84a4a93-6bf1-4394-bc79-93481d6d6e02
TitleURL https://app.powerbi.com/reportEmbed?reportId=f84a4a93-6bf1-4394-bc79-93481d6d6e02
 <control id="unfilteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
      <parameters>
           <PowerBIGroupId>3644785b-2fc7-4343-afc2-ca4ce230b684</PowerBIGroupId>
           <PowerBIReportId>f84a4a93-6bf1-4394-bc79-93481d6d6e02</PowerBIReportId>
           <TileUrl>https://app.powerbi.com/reportEmbed?reportId=f84a4a93-6bf1-4394-bc79-93481d6d6e02</TileUrl>
      </parameters>
 </control>

ちなみに

<control id="unfilteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">

は固定ですので、ご注意ください。

XMLファイルのタブのセクションにいれてあげましょう!
image.png
※諸事情でキャプチャーと上記パラメータ違いますが、気にせずに!

#5.ソリューションファイルのインポート

修正が完了したら、再度ソリューションファイルをインポート

ソリューションの公開を行い、Power BIレポートが埋め込まれているか?確認してみましょう!

image.png

#あとがき
如何だったでしょうか?
Power Appsのダッシュボードや、Dynamicsのダッシュボードで、
Power BIダッシュボードを表示できるのは、ご存じだったかと思いますが、
こんなやり方で、モデル駆動型アプリに、Power BIレポートを埋め込むことができるのです。
もし、ニーズがあれば試していただけると幸いです。
(そのうちXMLファイルの加工は、Power FXあたりでできるんじゃないかと思います。)

では、みなさん、良きPower BIライフをお過ごしください。

12
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?