嵌入 Power BI 报表

已完成

Power BI 报表是最常见的嵌入内容类型,因为存在大量视觉对象类型(包括 AI 和自定义视觉对象)和交互式功能。

可以在三种不同的模式下嵌入 Power BI 报表:

  • 嵌入现有 Power BI 报表
  • 编辑嵌入的报表
  • 嵌入新的 Power BI 报表

对于每个模式,可以设置许多配置对象属性,以精确指定应用呈现报表的方式。 配置对象的 type 属性始终设置为“report”。

嵌入现有报表

嵌入现有报表时,请使用类型为 IReportLoadConfiguration 的配置对象。 除了必需属性(如第 1 单元所述),应用可以设置以下可选属性。

  • contrastModetheme - 可选。 控制嵌入的内容使用的主题和对比度级别。 默认情况下,嵌入的任何内容都以默认主题和零对比度显示。 可以通过配置特定主题或对比度级别来替代此行为。 有关详细信息,请参阅主题和高对比度模式
  • pageName - 可选项。 控制最初显示嵌入报表的哪个页面。 如果未设置,它会打开作者上次保存报表时所选的页面。
  • filters - 可选项。 设置筛选器状态。 请考虑根据应用上下文设置筛选器状态,或许可以按应用用户的销售区域进行筛选。 有关详细信息,请参阅控制报表筛选器
  • slicers - 可选项。 与筛选器一样,可以设置切片器状态。 有关详细信息,请参阅控制报表切片器
  • bookmark - 可选项。 应用特定的书签
  • datasetBinding - 可选项。 将报表连接到其他数据集,该数据集定义嵌入报表连接到的数据架构。 有关详细信息,请参阅将数据集动态绑定到报表
  • permissions - 可选项。 授予用户可以执行的操作。 操作选项包括创建、查看、编辑、保存或保存报表的副本。 本单元稍后将介绍编辑和创建报表。
  • viewMode - 可选项。 确定报表是在视图模式(默认)下打开,还是在编辑模式下打开。 如前所述,应用必须授予编辑权限才能启用编辑模式。
  • settings - 可选项。 调整报表的外观和行为。 可以显示和展开打开的窗格以使用书签、字段、筛选器、页面导航、选择、同步切片器或可视化效果。 还可以将布局类型设置为移动视图,或设置区域设置(指定报表的语言和格式设置)。 有关详细信息,请参阅自定义设置

注意

在许多情况下,可以在报表加载后更改设置,可能是为了响应用户交互。

通过转到 Power BI 嵌入式分析操场并按照以下说明操作,体验应用如何嵌入 Power BI 报表。

注意

Power BI 嵌入式分析操场是一个有助于学习、探索和试用 Power BI 嵌入式分析的网站。 它包括用于实践的开发人员沙盒,使用包含示例 Power BI 内容或你自己的内容的客户端 API。 代码片段和展示也可供你浏览。

有关详细信息,请参阅什么是 Power BI 嵌入式分析操场?

在左窗格中选择“浏览 API”。

左窗格的屏幕截图,其中突出显示了“浏览 API”选项。

在内容窗格中,请留意“示例”下拉列表以及旁边的“嵌入模式”下拉列表。 默认情况下,这两个下拉列表都设置为在视图模式下显示 Power BI 报表。

显示两个下拉列表都设置为在视图模式下显示 Power BI 报表的屏幕截图。

若要查看报表的嵌入方式,请选择窗格左上角的“显示示例代码”。

菜单栏的屏幕截图,其中突出显示了“显示示例代码”命令。

在代码片段窗口中,通过从上到下垂直滚动来扫描代码。 查找创建配置对象的代码行,并(在大约一半的位置)嵌入报表。

// Create the embed configuration object for the report
// For more information see https://go.microsoft.com/fwlink/?linkid=2153590
let config = {
    type: 'report',
    tokenType: models.TokenType.Embed,
    accessToken: accessToken,
    embedUrl: embedUrl,
    id: embedReportId,
    permissions: permissions,
    settings: {
        panes: {
            filters: {
                visible: true
            },
            pageNavigation: {
                visible: true
            }
        }
    }
};

// Get a reference to the embedded report HTML element
let embedContainer = $('#embedContainer')[0];

// Embed the report and display it within the div container.
report = powerbi.embed(embedContainer, config);```

请注意,配置对象将筛选器和页面导航窗格设置为可见。

编辑嵌入的报表

若要允许用户编辑嵌入报表,请使用类型为 IReportLoadConfiguration 的配置对象。 将 viewMode 属性设置为 models.ViewMode.Edit

有关用于编辑报表的访问令牌权限的信息,请参阅创建、编辑和保存嵌入报表。 当用户具有 Copy 权限时,他们可以使用“另存为”保存报表的副本。

在 Power BI 嵌入式分析操场的“嵌入模式”下拉列表中选择“编辑模式”。

显示在“嵌入模式”下拉列表中设置为“编辑模式”的屏幕截图。

现在,嵌入报表顶部有一个操作栏。 其中包括“保存”命令,位于报表最右侧。 现在可以更改报表并(尝试)保存编辑后的报表。

注意

尝试在 Power BI 嵌入式分析操场中保存报表将产生错误,因为它是示例应用。

打开代码片段窗口,找到创建 config 对象的语句。 请注意,“viewMode”属性设置为“编辑”。

viewMode: models.ViewMode.Edit,

选择“取消”可关闭代码片段窗口。

嵌入新报表

若要嵌入新报表,请使用类型为 IReportCreateConfiguration 的配置对象。 此接口中的属性类似于报表加载配置对象的属性,但有以下两个区别:

  • datasetId - 必需。 新报表连接到的 DatasetID。

  • embedUrl - 必需。 数据集的嵌入 URL。

必须设置 permissions 属性以允许创建报表(CreateAll)。

有关用于创建和保存报表的访问令牌权限的信息,请参阅创建、编辑和保存嵌入报表

在 Power BI 嵌入式分析操场的“嵌入模式”下拉列表中选择“创建模式”。

显示在“嵌入模式”下拉列表中设置为“创建模式”的屏幕截图。

现在,嵌入报表顶部有一个操作栏。 它包括位于报表最左侧的“文件”菜单。 现在,可以(尝试)保存报表。

注意

尝试在 Power BI 嵌入式分析操场中保存报表将产生错误,因为它是示例应用。

打开代码片段窗口,找到创建 embedCreateConfiguration 对象的语句。 请注意,代码设置 datasetId 属性。

// This object is used when calling powerbi.createReport.
let embedCreateConfiguration = {
    tokenType: models.TokenType.Embed,
    accessToken: accessToken,
    embedUrl: embedUrl,
    datasetId: embedDatasetId,
};

选择“取消”可关闭代码片段窗口。

有关嵌入 Power BI 报表的完整说明,请参阅嵌入报表