aspnetwebformpowerbiembed
PowerBI(PBI)は、AppownsDataモデルとしてASP.NET Webformsに埋め込まれています
レポートは、「マスターユーザー」メソッドではなく、「サービスプリンシパル」メソッドを使用して組み込まれています
Microsoftとしてこのリポジトリをアーカイブすると、新しいASP.NETテクノロジー(MVCとBlazor)の使用が奨励されています。具体的には、Blazorが推奨されるものです-https://learn.microsoft.com/en-us/dotnet/architecture/blazor-for-web-forms-developers/migration
Visual Studio 2017でこのサンプルソリューションを作成しましたが、サンプルレポートはhttps://github.com/microsoft/powerbi-desktop-samples/tree/master/2018から取得されます。
このデモでは、「2018SU04ブログデモ - 4月.pbix」ファイルを使用しました
レポートが埋め込まれている2つのファイルがあります。
- default.aspx-フィルターなしのレポートが含まれています
- pbiembedded.aspx-フィルター付きのレポートが含まれています
ここJavaScriptに基本的なフィルターを適用しました。その他のフィルターについては、このドキュメントhttps://github.com/microsoft/powerbi-javascript/wiki/filtersを参照してください
実装方法はPower BI -App所有データ(MVC) - https://github.com/microsoft/powerbi-developer-samples/tree/master/app%20owns%20dataに似ています
クラスファイルは、アプリ所有データ(MVC)に記載されていると同じです。
サービスプリンシパルメソッドが使用されているため、web.configメソッドの次のものに値を追加してください。
Appsettings
-applicationId
-workspaceId
-reportId
サービスプリンシパル
-applicationSecret
-tenant
埋め込む前に、Power BIレポートを作成し、パワーBI O365ワークスペースを公開してください。
サービスプリンシパルの構成方法の詳細な説明については、このビデオhttps://www.youtube.com/watch?v=Zhmfpdxliw0を確認してください
しかし、私はビデオの長さのように思えた場合は、以下の説明を確認してください。
Azure Portalに移動します
- Azure Active Directory-> App登録に移動します
- アプリケーションに名前を提供します
- サポートされているアカウントタイプの場合、「任意の組織ディレクトリのアカウント」を選択します。このオプションは、PBIが埋め込まれているアプリケーションが個別にホストされるため、選択されます。
- LocalHost URLとしてリダイレクトURI(オプション)を提供します
- [登録]をクリックすると、次の詳細が表示されます - アプリケーション(クライアント)ID、ディレクトリ(テナント)ID、オブジェクトID
- アプリケーションの秘密については、「証明書と秘密」 - >「新しいクライアントシークレット」を選択します。古いAzureポータルの場合、これらは「パスワード」の名前で行きます。
- 説明と有効期限パラメーターを提供し、[追加]をクリックします
- 重要- [追加]をクリックするとすぐに、説明名の横にアプリケーションの秘密が得られます。すぐに秘密をコピーします。あなたが思うなら、あなたは後でアプリケーションの秘密を得ることができるでしょう、それは不可能です。新しいキーを作成する必要があります。
- ユーザーがPowerBIファイルを読み取ることを許可するには、BI APIを電源で提供するためのアクセス許可を提供する必要があります
- APIパーミズまたは必要なアクセス許可に移動する(古いポータル)
- API許可の下で、[許可を追加]をクリックします
- 「パワーバイサービス」を選択します
- 「委任された権限」と「アプリケーション許可」の下で、今のところすべてのアクセス許可を与えましたが、必要な許可または何が必要でないかについてすぐに更新されます。
- 再び「Azure Active Directory」 - >「グループ」をクリックして「新しいグループ」をクリックします
- グループタイプをデフォルトとして保持し、グループ名を挙げてください
- 所有者の下で、誰がグループの所有者になるかについて言及します
- メンバーの下で、以前に登録されたアプリ名に言及してください
- [今すぐ[作成]ボタンをクリックして、グループを作成します
O365の下でPower BIポータルに移動します
- 設定に移動してから「管理ポータル」
- 管理ポータルでは、「テナント設定」に移動し、その「開発者設定」に移動します
- 「サービスプリンシパルがPower bi APIを使用できるようにする」の下で、機能を有効にし、以前に作成されたグループ名を記載し、[適用]をクリックします
- 現在、管理ポータルの下で、ワークスペースに移動します
- ワークスペースを選択し、アクセスをクリックします
- グループ名と管理者との役割として言及し、[追加]をクリックします
- ワークスペースIDとレポートIDについては、ワークスペースから1つのレポートを開きます
- URLで、「グループ」キーワードの後、ワークスペースIDとなるGUIDをコピーします
- URLで、キーワードを「レポート」した後、レポートIDとなるGUIDをコピーします
Web.configでこれらの値に言及し、残りのコードはレポートの埋め込みに役立ちます。
ハッピーコーディング...