aspnetwebformpowerbiembed
Power BI(PBI)嵌入為AppownSdata模型中的ASP.NET WebForms
該報告使用“服務主”方法嵌入,而不是“主用戶”方法
將此存儲庫存檔為Microsoft鼓勵使用新的ASP.NET技術-MVC和Blazor。對於WebForms,特別是Glazor是一個推薦-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博客演示-April.pbix”文件
有兩個文件嵌入報告。
- default.aspx-包含沒有過濾器的報告
- pbiembedded.aspx-包含帶過濾器的報告
我在JavaScript中應用了一個基本過濾器。有關其他過濾器,請參閱此文檔https://github.com/microsoft/powerbi-javascript/wiki/filters
實現方法類似於Power BI-應用程序擁有數據(MVC)-https://github.com/microsoft/powerbi-developer-samples/tree/master/master/app%20owns%20data
類文件與應用程序中提到的數據(MVC)相同。
當使用服務主方法時,請在Web.config方法中將值添加到以下內容:
AppSettings
-applicationId
-workspaceId
-reportId
ServicePrincipal
-applicationSecret
-tenant
嵌入之前,請創建Power BI報告並發佈到Power BI O365工作區。
有關如何配置服務主體的詳細說明,請檢查此視頻https://www.youtube.com/watch?v=zhmfpdxliw0
但是,如果視頻似乎很長,請檢查下面的描述有關如何融合它...
轉到Azure Portal
- 轉到Azure Active Directory->應用程序註冊
- 提供申請名稱
- 對於受支持的帳戶類型,請選擇“任何組織目錄中的帳戶”。選擇此選項是因為,嵌入PBI的應用程序是獨立託管的。
- 提供重定向的URI(可選)為Local主機URL
- 單擊註冊,您將獲得以下詳細信息 - 應用程序(客戶端)ID,目錄(租戶)ID,對象ID
- 對於應用程序秘密,選擇“證書和秘密” - >“新客戶秘密”。對於舊的Azure門戶,它們以“密碼”的名稱使用。
- 提供說明和到期參數,然後單擊添加
- 重要- 單擊添加後,您將在描述名稱旁邊獲得應用程序秘密。立即復制秘密。如果您認為,稍後您將能夠將申請機密歸為秘密,這是不可能的。您將必須創建一個新密鑰。
- 對於允許用戶讀取Power BI文件,您將必須提供Power BI API的權限
- 導航到API Permissions或所需的權限(舊門戶)
- 在API權限下,單擊“添加權限”
- 選擇“ Power BI Service”
- 在“委派權限”和“申請權限”下,我現在授予了所有權限,但會盡快更新哪些權限或不需要的權限。
- 現在再次在“ Azure Active Directory” - >“組”下,然後單擊“新組”
- 將組類型保留為默認值並給出組名稱
- 在所有者的領導下,提及誰將成為該小組的所有者
- 在成員下,提及之前註冊的應用名稱
- 單擊“創建”按鈕以創建組
訪問O365下的Power BI Portal
- 轉到設置,然後“管理門戶”
- 在管理門戶網站下,轉到“租戶設置”,然後在“開發人員設置”中轉到
- 在“允許服務主體使用Power BI API”下,啟用了該功能,並提及早些時候創建的組名稱,然後單擊“應用”
- 現在在管理門戶網站下,導航到工作區
- 選擇工作區,然後單擊訪問
- 提及組名,並以管理員作為角色,然後單擊添加
- 現在,對於工作區ID並報告ID,請從工作區打開任何報告
- 在URL中,“組”關鍵字之後,複製將為您的工作區ID的GUID
- 在URL中,在“報告”關鍵字之後,複製將成為您的報告ID的GUID
在Web.config和其餘代碼中提及這些值有助於嵌入報告。
愉快的編碼...