我创建了一个托管在 Azure IIS 上的 WebApp。我正在调用 PowerBI 报告和仪表板并将它们呈现到我的 WebApp 中。
我需要应用以下功能,但无法在线找到解决方案。
- 用户可以从 Web 应用程序的 PowerBI 中可用的筛选器筛选数据。
- 当我们调用 PowerBI 报表并渲染到网页中时,可以应用行级安全性。
我创建了一个托管在 Azure IIS 上的 WebApp。我正在调用 PowerBI 报告和仪表板并将它们呈现到我的 WebApp 中。
我需要应用以下功能,但无法在线找到解决方案。
目前尚不清楚您使用哪种 URL 来嵌入报告。本质上,您可以使用 3 个 URL 在 Web 应用程序中显示报告:
要将过滤器应用于嵌入式报告,您可以使用最近的一项新功能(如果我是正确的,它自 2018 年 8 月起可用)并在 URL 中添加过滤器。我不确定这在#2 的情况下是否有效,但无论如何我都不建议使用它。
案例 #2 无法使用 RLS。在 #1 和 #3 的情况下,RLS 将简单地工作。对于#3,如果您使用“应用程序自己的数据”方案,为了让 RLS 工作,您需要在生成令牌以访问报告时传递用户名和角色(因为否则对于所有用户的请求,Power BI 将始终看到您的“主帐户”和 RLS 将没有任何意义)。这是使用EffectiveIdentity参数指定的。
您还将“power-bi-report-server”附加到您的问题中,但同时您说您的 Web 应用程序正在 Azure 中运行。如果您的所有报表都在本地 Power BI 报表服务器上,那么您也可以通过在报表的 URL 处传递 rs_embed=true 参数来嵌入报表。在这种情况下,要使 RLS 工作,您只需要确保您的用户使用他们自己的帐户进行身份验证。在 URL 中传递过滤器也适用于最新版本(它在 2018 年 3 月被破坏,但在 15.0.2.389 中修复)。