Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

PowerBI の埋め込み色々

例によって自分向け備忘録です。

PowerBIのレポート埋め込みっていうとPowerBI Embeddedなんかが有りますが、いくつか種類があります。

  • PBI.com からWeb埋め込みする
  • PBI.com の埋め込み機能
  • PBI Embedded の埋め込み機能

PBI.com = PowerBIのWebサービスです。

Web埋め込み

iframe で埋め込むやつです。PBI Desktopで作成してPBI.comに発行したものでもよし、PBI.com上で作成したものでもよし、任意のレポートを埋め込めます。 f:id:StateMachine:20161213185844p:plain

PBI.comからWebに公開すると、ダイアログが出て、

f:id:StateMachine:20161213185945p:plain f:id:StateMachine:20161213185958p:plain

埋め込み可能なiframeが生成されます。これらは別途、「埋め込みコードの管理」で消せたり、再度URLを見たりできます。

PBI.com で埋め込む

PBI.comの開発者機能的なものを利用して、埋め込むことができますが、埋め込むにあたって

  • AADのテナント必要
  • AADにWeb/アプリ登録して、PBIへのアクセスを許可する
  • AADで認証してTokenを得て埋め込む

見たいな感じになります。PBI Embeddedよりちょいと煩雑で手間がかかりそうです。今となってはメリットが良く分からない感じなのですが。

情報としては以下の辺りから探っていくと色々得られます。

Power BI REST API リファレンス | Microsoft Power BI

最終的にはpowerbi.js で色々操作する必要があるでしょう。JavascriptなSDKはGitHubに上がっております。 powerbi.microsoft.com

GitHub - Microsoft/PowerBI-JavaScript: JavaScript library for embedding Power BI into your apps. Check out the docs website and wiki for more information.

PBI Embedded で埋め込む

埋め込込みとかEmbeddedで探すとだいたいこちらの機能のことを指してる感です。埋め込みには、

  • Azure 上に PBI Embeddedのワークスペースコレクションを作成
  • PBIXを↑にImportする
  • 埋め込むには↑の情報はAppKeyを使う

以下からざっくり情報がたどれます。

docs.microsoft.com Azure Portalから色々操作できなくて、PowerShellを使うか、NET SDKにサンプルプログラムでPBIXをImportしたりする必要があります。こちらはこちらで面倒です。

PBI.comと同じく、同じクライアント側では同じJavascript SDKを使います。

というわけで、ざっくり3つの方法でした。