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和其余代码中提及这些值有助于嵌入报告。
愉快的编码...