从 Power BI 发布到 Web

借助 Power BI“发布到 Web”选项,可轻松地将交互式 Power BI 内容嵌入博客文章、网站、电子邮件或社交媒体中。 还可以轻松编辑、更新、刷新或停止共享已发布的视觉对象。

警告

使用“发布到 Web”时,Internet 上的所有人都可查看你发布的报表或视觉对象。 查看不需要身份验证。 它包括查看报表聚合的详细级别数据。 发布报表前,请确保可以公开共享数据和可视化效果。 请勿发布机密或专有信息。 如果有任何疑问,请在发布前查看组织策略。

注意

可以将内容安全地嵌入内部门户或网站。 使用嵌入”在 SharePoint Online 中嵌入”选项。 这些选项可确保在用户查看内部数据时强制执行所有权限和数据安全性。

先决条件

  • 需要 Microsoft Power BI 许可证才能从“我的工作区”发布到 Web。
  • 你需要 Microsoft Power BI Pro 或 Premium Per User 许可证才能从工作区发布到 Web。
  • “发布到 Web”适用于你可以在“我的工作区”和工作区中编辑的报表。
  • 但与你共享的报表,或依赖行级安全性来保护数据的报表不提供该功能。
  • 报告查看者无需是 Power BI 用户。

请参阅以下注意事项和限制部分,了解有关不支持“发布到 Web”的情况的完整列表。

通过“发布到 Web”创建嵌入代码

按照以下步骤使用“发布到 Web”。 在发布到 Web 之前,请查看本文前面所述的“警告”部分。

  1. 打开可编辑的工作区中的报表,然后选择“文件”>“嵌入报表”>“发布到 Web (公共)” 。

    Screenshot of Publish to web on More options.

  2. 如果 Power BI 管理员尚未允许你创建嵌入代码,则可能需要与他们联系。

    Screenshot of Contact your Power BI admin.

    若要获取在查找谁能在组织中启用“发布到 Web”方面的帮助,请参阅本文后面的如何查找 Power BI 管理员

  3. 查看对话框内容,然后选择“创建嵌入代码”。

    Screenshot of Review Embed in a public website.

  4. 查看如下所示的警告,并确认数据是否准备好嵌入到公共网站。 如果已准备好,选择“发布”。

    Screenshot of dialog box with the warning

  5. 在“成功”对话框中,可以看到报表的外观预览。 选择“大小”和“默认页面” 。

    还可以将添加占位符图像,使网页的加载速度更快。 使用占位符图像,在 Web 上查看报表的人可以看到一个“查看交互式内容”按钮,他们可以选择此按钮查看报表本身。

    请先进行这些更改。 然后复制该链接,通过电子邮件进行发生,或复制 HTML 以粘贴到网站。 可以将它嵌入 iFrame 等代码,或直接粘贴到网页或博客。

    Screenshot of Success: a link and HTML.

  6. 如果之前为报表创建了嵌入代码并选择“发布到 Web”,则不会显示步骤 2-4 中的对话框。 而会显示“嵌入代码”对话框。

    Screenshot of Embed code dialog box.

    每个报表只能创建一个嵌入代码。

视图模式的提示

在博客帖子中嵌入内容时,通常需要调整以适合屏幕的特定大小。 可根据需要调整 iFrame 标记中的高度和宽度。 但需要确保报表适合给定的 iFrame 区域,因此编辑报表时需要设置相应的视图模式。

下表提供有关视图模式及其嵌入时外观的指导。

视图模式 嵌入时外观
Screenshot of Fit to page. “调整到页面大小”会考虑报表的页面高度和宽度。 如果将页面设置为动态比率,如 16:9 或 4:3,内容将在 iFrame 范围内缩放至合适的大小。 嵌入 iFrame 中时,使用“适应页面”可能会导致“宽屏”:内容在 iFrame 中调整至合适大小后,iFrame 区域会显示灰色背景。 为了最大限度地减少上下黑边,请正确设置 iFrame 的高度和宽度。
Screenshot of Actual size. “实际大小”确保报表保持其在报表页上设置的大小。 这可能导致 iFrame 中显示滚动条。 设置 iFrame 高度和宽度,以避免出现滚动条。
Screenshot of Fit to width. “适应宽度”确保内容填充 iFrame 的水平区域。 仍会显示一个边框,但内容进行缩放,以便利用所有可用的水平空间。

iFrame 高度和宽度的提示

“发布到 Web”嵌入类似于以下示例的代码:

Screenshot of Embed code.

可以手动编辑宽度和高度,确保它正以所希望的方式适应正将其嵌入到的页面。

若要实现更完美的适应,可尝试为 iFrame 的高度添加 56 个像素,以适应底部栏的当前大小。 如果报表页使用动态尺寸,下表提供了一些可用于实现适应页面而不会造成宽屏的尺寸。

比率 大小 尺寸(宽 x 高)
16:9 640 x 416 px
16:9 800 x 506 px
16:9 960 x 596 px
4:3 640 x 536 px
4:3 800 x 656 px
4:3 960 x 776 px

管理嵌入代码

创建“发布到 Web”嵌入代码后,可通过 Power BI 中的“设置”菜单管理代码。 管理嵌入代码包括,能够删除代码的目标视觉对象或报表(使嵌入代码不可用),或获取嵌入代码。

  1. 要管理“发布到 Web”嵌入代码,请打开报表所在的工作区,选择“设置”齿轮,然后选择“管理嵌入代码”。

    Screenshot of Manage embed codes

  2. 这时将显示该工作区中报表的嵌入代码。

    Screenshot of list of embed codes.

  3. 可以检索,也可以删除嵌入代码。 删除它会禁用指向该报表或视觉对象的任何链接。

    Screenshot of retrieving or deleting embed codes.

  4. 如果选择“删除”,系统会提示进行确认。

    Screenshot of confirming deletion.

报表更新和数据刷新

在你创建“发布到 Web”嵌入代码并将其共享后,将使用进行的所有更改对报表进行更新。 嵌入代码链接将立即处于活动状态。 打开链接的任何人都可以查看。 数据将缓存一小时(从检索时间开始)。 对于需要频繁刷新的数据,不建议使用“发布到 Web”。 若要了解详细信息,请参阅本文后面工作方式部分。

数据刷新

数据刷新自动反映在嵌入的报表或视觉对象中。 为 Power BI 服务中的导入数据模型刷新数据时,服务将清除数据缓存,以便快速更新数据。 要禁用自动刷新,请在报表使用的语义模型计划上选择“不刷新”。

繁重的使用情况

当报表在短时间内收到太多查询时,可能会出现繁重的使用体验。 如果出现繁重的使用情况,在使用高峰期结束之前,用户都无法查看报表或与报表进行交互。

建议为报表设置占位符图像。 如果出现繁重的使用情况,用户将看到占位符图像。

为了帮助避免繁重的使用体验,请限制报表可以生成的不同查询数和数据刷新频率。 有关简化报表的技巧,请参阅 Power BI 优化指南

Power BI 视觉对象

在“发布到 Web 中”,支持 Power BI 视觉对象。 使用“发布到 Web”时,共享你的已发布视觉对象的用户不需要启用 Power BI 视觉对象即可查看报表。

了解嵌入代码状态列

注意

查看经常发布的嵌入代码。 删除不再需要公开提供的任何代码。

“管理嵌入代码”页包括状态列。 嵌入代码默认处于“激活”状态,但也可能处于以下状态之一。

状态 说明
活动 该报表可供 Internet 用户查看并进行交互。
被阻止 报表内容违反了 Power BI 服务条款。 Microsoft 已将其阻止。 如果你认为内容被错误阻止,请与支持部门联系。
不支持 报表的语义模型正在使用行级别安全性或另一个不受支持的配置。 请参阅注意事项和限制部分中的完整列表。
侵权 嵌入代码在定义的租户策略外部。 如果在创建嵌入代码后更改“发布到 Web”租户设置以排除拥有该嵌入代码的用户,则通常会出现此状态。 如果已禁用租户设置,或者不再允许用户创建嵌入代码,则现有嵌入代码显示“侵权”状态。 有关详细信息,请参阅本文中的查找 Power BI 管理员部分。

报告有关发布到 Web 内容的问题

若要报告与嵌入到网页或博客中的“发布到 Web”内容相关的问题,请选择“发布到 Web”报表的底部栏中的“共享”图标,然后选择“共享”对话框中的“标志”图标。

Screenshot of sharing a concern.

你需要向 Microsoft 发送一封电子邮件,解释该问题。 Microsoft 会基于 Power BI 服务条款评估该内容,并采取相应的措施。

工作方式(技术详细信息)

使用“发布到 Web”创建嵌入代码时,报表对所有 Internet 用户均可见。 它是公开提供的,因此你可以期望将来查看者能够轻松地通过社交媒体共享报表。 用户可通过打开直接公共 URL 查看报表,也可以在网页或博客中查看它。 与此同时,Power BI 会缓存报表定义和查看报表所需的查询结果。 此缓存可确保成千上万的并发用户能够在不影响性能的情况下查看报表。

数据将缓存一小时(从检索时间开始)。 如果你更新报表定义(例如更改其视图模式)或刷新报表数据,可能需要一些时间才能在用户查看的报表版本中反映更改。 如果导入数据模型发生数据刷新,服务将清除缓存的数据并检索新数据。 在大多数情况下,数据更新操作与数据导入操作几乎同时进行。 但对于包含多个不同查询的报表,可能需要一些时间进行更新。 由于每个元素和数据值都是独立缓存的,因此当发生数据更新时,用户可能会看到当前值和以前值的组合。 因此建议你提前暂存工作,并仅在对设置满意时创建“发布到 Web”嵌入代码。 如果数据会刷新,则最大限度地减少刷新次数,并在关闭时执行刷新。 对于需要频繁刷新的数据,不建议使用“发布到 Web”。

查找 Power BI 管理员

Power BI 管理门户具有控制可以发布到 Web 的人员的设置。 与组织的 Power BI 管理员合作,在管理门户中更改“发布到 Web”租户设置

对于已注册 Power BI 的小型组织或个人,可能还没有 Power BI 管理员。 遵循管理员接管流程。 有了 Power BI 管理员后,他们就可以为你创建嵌入代码。

已建立的组织通常已有 Power BI 管理员。 担任以下任何角色的人员都可以充当 Power BI 管理员:

  • 全局管理员
  • Microsoft Entra ID 中具有 Fabric 管理员角色的用户

需要在组织中找到这些人中的一个,请他们在管理门户中更新“发布到 Web”租户设置

注意事项和限制

“发布到 Web”支持用于 Power BI 服务中绝大部分数据源和报表。 但以下类型的报表当前受支持或不可用于“发布到 Web”:

  • 使用行级别安全性的报表。
  • 使用 DirectQuery 连接到数据的报表。 改用复合或导入模式进行连接。 阅读了解模式之间的差异
  • 使用任何实时连接数据源的报表,包括在本地托管的 Analysis Services 表格、Analysis Services Multidimensional 以及 Azure Analysis Services。
  • 使用共享语义模型的报表,该模型与报表存储在不同的工作区中。
  • 共享和认证的语义模型
  • 直接或通过应用共享的报表。
  • 你不是编辑成员的工作区中的报表。
  • “发布到 Web”报表中当前不支持“R”和 Python 视觉对象。
  • 从已发布到 Web 的报表中的视觉对象中导出数据。
  • 有关 Power BI 视觉对象的问答。
  • 包含报表级别 DAX 度量值的报表。
  • 单一登录数据查询模型,包括 Power BI 语义模型或 Azure Analysis Services 上的复合模型
  • 保护机密或专有信息。
  • 随“嵌入”选项提供的自动身份验证功能不适用于 Power BI JavaScript API。 对于 Power BI JavaScript API,请使用用户拥有数据方法进行嵌入。
  • 管理员可阻止公共 Internet 访问,如用于安全访问 Fabric 的专用链接中所述。 在这种情况下,Power BI 管理门户中租户的“发布到 Web”选项将灰显。
  • 自定义视觉对象的许可证强制实施。
  • 当组织的针对未认证视觉对象的全局租户切换开启时,组织存储中未认证的视觉对象。
  • 当组织的全局租户切换不允许使用 Power BI SDK 创建的视觉对象时,来自组织存储的公共视觉对象。
  • 创建嵌入代码的用户需要保持对报表的访问权限,以便嵌入代码能够正常工作。 这包括需要工作区所需的 Pro 或 Premium Per User 许可证。
  • 分页报表。
  • 多语言报表。

更多问题? 尝试参与 Power BI 社区