嵌入报表

提示

请尝试在 Power BI Embedded Analytics Playground的“浏览 API” 部分中嵌入报表或试验我们的客户端 API。

本文介绍在应用程序中嵌入 Power BI 报表的步骤。 在 Power BI中的 报表中了解有关报表的详细信息。

如何嵌入报表

在应用中嵌入 Power BI 内容时,使用配置对象定义要嵌入的内容并指定内容的设置。 然后将该对象传递给 API。 有关详细信息,请参阅 配置报表设置

嵌入现有报表

嵌入已存在的报表时,请使用 IReportLoadConfiguration类型的配置对象。

interface IReportLoadConfiguration {
    accessToken: string;
    bookmark?: models.IApplyBookmarkRequest;
    contrastMode?: models.ContrastMode;
    datasetBinding?: models.IDatasetBinding;
    embedUrl?: string;
    filters?: models.ReportLevelFilters[];
    id: string;
    pageName?: string;
    permissions?: models.Permissions;
    settings?: models.IEmbedSettings;
    slicers?: models.ISlicer[];
    theme?: models.IReportTheme;
    tokenType?: models.TokenType;
    type: string;
    viewMode?: models.ViewMode;
}

此接口包括以下属性:

  • accessToken - 用于访问要嵌入的 Power BI 数据的令牌。 请参阅 了解不同的嵌入解决方案 了解有关访问令牌的详细信息。

  • datasetBinding - 定义嵌入报表使用的数据架构的数据集。 有关数据集的详细信息,请参阅 将数据集动态绑定到报表

  • embedUrl - 要嵌入的报表的 URL。 此 URL 将成为包含嵌入报表的 HTML iframe 元素的源。 具体而言,API 将 URL 分配给 iframesrc 属性。 可以使用 报表 API 来获取此 URL。 两个示例包括:

  • id - 要嵌入的 Power BI 报表的 ID。

  • permissions - 向用户授予嵌入报表的操作。 这些值可用:

    • Read - 用户可以查看报表。
    • ReadWrite - 用户可以查看、编辑和保存报表。
    • Copy - 用户可以使用“另存为”保存报表的副本。
    • Create - 用户可以创建新报表。
    • All - 用户可以创建、查看、编辑、保存和保存报表的副本。
  • tokenType - 用于访问要嵌入的 Power BI 数据的令牌类型。

    • 如果要为组织嵌入内容(用户拥有数据),请使用 models.TokenType.Aad
    • 如果要为客户嵌入内容(应用拥有数据),请使用 models.TokenType.Embed

    有关详细信息,请参阅 了解不同的嵌入解决方案

  • type - 要嵌入的内容类型。 对 Power BI 报表使用 'report'

IReportLoadConfiguration 接口还包含其他属性。 有关这些属性的信息,请参阅 配置报表设置

  • bookmark
  • contrastMode
  • filters
  • pageName
  • settings
  • slicers
  • theme
  • viewMode

嵌入新报表

嵌入从数据集创建的新报表时,请使用 IReportCreateConfiguration类型的配置对象。

interface IReportCreateConfiguration {
    accessToken: string;
    datasetId: string;
    embedUrl?: string;
    settings?: models.IEmbedSettings;
    theme?: IReportTheme;
    tokenType?: models.TokenType;
    type: string;
}

此接口中的属性类似于 IReportLoadConfiguration 接口中的属性,但有以下例外:

  • datasetId - 定义新报表使用的数据架构的数据集的 ID。

  • embedUrl - 定义新报表使用的数据架构的数据集的 URL。 此 URL 将成为包含嵌入报表的 HTML iframe 元素的源。 具体而言,API 将 URL 分配给 iframesrc 属性。 可以使用 数据集 API 来获取此 URL。 两个示例包括:

有关编辑和创建报表的信息,请参阅 创建、编辑和保存嵌入报表

以下示例演示如何嵌入报表:

// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
    accessToken: anAccessToken,
    embedUrl: anEmbedUrl,
    id: aReportId,
    permissions: somePermissions,
    tokenType: aTokenType,
    type: 'report'
};
 
// Get a reference to the HTML element that contains the embedded report.
let embedContainer = $('#embedContainer')[0];
 
// Embed the report.
let report = powerbi.embed(embedContainer, embedConfiguration);