添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

借助 Power BI 报表的“嵌入”选项,你可以轻松、安全地在内部 Web 门户中嵌入报表。 这些门户可以是基于云的,也可以是本地托管的,例如 SharePoint 2019 。 嵌入的报表通过 行级别安全性 (RLS) 和 Analysis Services 表格模型 对象级安全性 (OLS) 来遵循所有项权限和数据安全性。 它们在任何接受 URL 或 iframe 的门户中提供无代码嵌入。

“嵌入”选项支持 URL 筛选器 和 URL 设置。 它可以使用只需要基本 HTML 和 JavaScript 知识的低代码方法来与门户集成。

由于正在进行 Chromium 安全更新,因此“嵌入”选项不再像以前那样工作,并且可能会要求用户多次进行身份验证 。 要解决此问题,请考虑创建自己的 Power BI Embedded 解决方案

如何将 Power BI 报表嵌入门户

  • 在 Power BI 服务中打开报表。

  • 在“文件”菜单上,选择“嵌入报表”>“网站或门户”。

  • 在“安全嵌入代码”对话框中,选择“下面是一个可用于嵌入此内容的链接”下的值。 或者,如果要在博客或网站中使用 iframe,请选择“可以粘贴到网站的 HTML”下的值。

  • 无论用户是直接打开报表 URL,还是打开嵌入在 Web 门户中的报表 URL,都需要进行身份验证才能访问报表。 如果用户未在其浏览器会话中登录 Power BI,将会显示以下屏幕。 当用户选择“登录”时,应会打开新的浏览器窗口或选项卡。 如果未提示用户进行登录,请让他们检查是否启用了弹出窗口阻止程序。

  • 用户登录后,将打开报表,其中显示了数据并允许进行页面导航和筛选器设置。 只有拥有查看权限的用户才能在 Power BI 中查看报表。 此外,还应用了所有 行级别安全性 (RLS) 规则。 用户需要获得正确的许可。 他们需要 Power BI Pro 或 Premium Per User (PPU) 许可证,或者内容需要位于 Power BI 高级容量的工作区中。 用户每次打开新的浏览器窗口时都需要登录。 不过,在他们登录后,其他报表会自动加载。

  • 使用 iframe 时,可能需要编辑“高度”和“宽度”值,使其适合门户网页。

    授予报表访问权限

    “嵌入”选项不会自动允许用户查看报表。 查看权限在 Power BI 服务中设置。

    在 Power BI 服务中,你可以与需要访问权限的用户共享嵌入的报表。 如果使用 Microsoft 365 组,你可以将该用户列为工作区成员。

    要查看嵌入的报表,你需要具有 Power BI Pro 或 Premium Per User (PPU) 许可证。 或该内容需要位于处于 Power BI Premium 容量(EM 或 P SKU) 范围内的工作区中。

    使用 URL 设置自定义嵌入体验

    你可以使用嵌入 URL 的输入设置来自定义用户体验。 在提供的 iframe 中,可以更新 URL 的 src 设置。

    pageName 你可以使用 pageName 查询字符串参数来设置要打开的报表页面。 在 Power BI 服务中查看报表时,你可以在报表 URL 的末尾找到此值,如本文后面所示。 URL 筛选器 你可以在从 Power BI UI 接收到的嵌入 URL 中使用 URL 筛选器 来筛选嵌入的内容。 借助这种方式,可以通过基本 HTML 和 JavaScript 体验生成低代码集成。

    为嵌入的报表设置要打开的页面

    在 Power BI 服务中查看报表时,你可以在报表 URL 的末尾处找到 pageName 值。

  • 从 Web 浏览器中的 Power BI 服务打开报表,然后复制地址栏中的 URL。

  • 将 pageName 属性及其值追加到 URL 的末尾处。

    使用 URL 筛选器筛选报表内容

    你可以使用 URL 筛选器 来提供不同的报表视图。 例如,下面的 URL 筛选报表,以显示能源行业的数据。

    将 pageName 和 URL 筛选器 结合使用的功能非常强大。 可以使用基本 HTML 和 JavaScript 生成体验。

    例如,可以将以下按钮添加到 HTML 页面:

    <button class="textLarge" onclick='show("ReportSection", "Energy");' style="display: inline-block;">Show Energy</button>
    

    选择此按钮时,此按钮会调用一个函数,以使用更新的 URL 来更新 iframe,其中包含能源行业筛选器。

    function show(pageName, filterValue)
    var newUrl = baseUrl + "&pageName=" + pageName;
    if(null != filterValue && "" != filterValue)
    newUrl += "&$filter=Industries/Industry eq '" + filterValue + "'";
    //Assumes there's an iFrame on the page with id="iFrame"
    var report = document.getElementById("iFrame")
    report.src = newUrl;
    

    可以根据需要添加任意数量的按钮,以创建低代码自定义体验。

    注意事项和限制

  • 安全嵌入方案支持分页报表,并且还支持带有 URL 参数的分页报表。 有关详细信息,请参阅在 Power BI 中将报表参数传入分页报表 URL

  • 安全嵌入选项适用于发布到 Power BI 服务的报表。

  • 若要托管安全嵌入的内容,用户必须使用 HTTPS 作为其顶级页面。 不支持使用不安全的主机页访问安全嵌入的内容。

  • 用户每次打开新的浏览器窗口或选项卡时都需要登录才能查看报表。

  • 若要进行身份验证,用户需要启用弹出窗口。

  • 如果用户过去已成功访问过报表,但现在遇到问题,则应清除其浏览器缓存。

  • 某些浏览器要求用户在登录后刷新页面,尤其是在使用 InPrivate 或 Incognito 模式的情况下。

  • 如果使用不受支持的浏览器版本,可能会遇到问题。 有关 Power BI 支持的浏览器的列表,请参阅 Power BI 支持的浏览器

  • 如果你的网站将 Cross-Origin-Opener-Policy (COOP) 标头设置为“同源”,则无法登录以查看嵌入的内容,因为 MSAL 不支持此标头。 请改为选择“restrict-properties”(适用于基于 Chromium 的浏览器)或“same-origin-allow-popups”。或者,如果无法更改 Cross-Origin-Opener-Policy,请直接链接到嵌入的 URL,而不是将其嵌入到 iframe 中。

  • 经典 SharePoint Server 不受支持,因为它需要 11 之前的 Internet Explorer 版本或启用“兼容性视图”模式。

  • 要实现单一登录体验,请使用“在 SharePoint Online 中嵌入”选项,或使用用户拥有数据嵌入方法生成自定义集成。

  • 随“嵌入”选项提供的自动身份验证功能不适用于 Power BI JavaScript API。 从版本 2.10.4 开始,将在 PBI 嵌入式客户端 SDK 中阻止这些功能。 对于 Power BI JavaScript API,请使用用户拥有数据嵌入方法。

  • 当自动身份验证功能嵌入到应用程序(包括移动和桌面应用程序)中时,它们不起作用。

  • 身份验证令牌生存期基于 Microsoft Entra 设置进行控制。 当身份验证令牌过期时,用户需要重新登录以获取更新的身份验证令牌。 默认生存期为一小时,但你的组织可能设置更短或更长的时间。 在这种情况下,无法自动刷新令牌。

  • 在 Power BI 中共享工作的方式
  • 在 URL 使用查询字符串参数筛选报表
  • 在 SharePoint Online 中嵌入报表 Web 部件
  • 从 Power BI 发布到 Web
  • 即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:https://aka.ms/ContentUserFeedback

    提交和查看相关反馈

  •