嵌入分页报表

提示

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

本文介绍在应用程序中嵌入分页报表的步骤。 在 power BI Premium 中详细了解分页报表 什么是分页报表?

如何嵌入分页报表

在应用中嵌入 Power BI 内容时,定义内容并在配置对象中指定其设置。 然后将该对象传递给 API。

嵌入分页报表时,请使用 IPaginatedReportLoadConfiguration类型的配置对象:

export interface IPaginatedReportLoadConfiguration {
    accessToken: string;
    id: string;
    embedUrl?: string;
    settings?: IPaginatedReportSettings;
    tokenType?: TokenType;
    type?: string;
    parameterValues?: IPaginatedReportParameter[];
}

此接口包含以下属性:

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

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

    建议使用下面所述的 parameterValues 属性将报表参数传递给报表。 但是,还可以通过将查询字符串添加到嵌入 URL 的末尾,将参数传递给报表。 详细了解如何在分页报表中传递 URL 参数。 请参阅 将参数传递给 URL的示例。

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

  • 主机名 - 默认 hostnameapp.powerbi.com。 如果使用主权云,请在此处提供 URL。 如果为 embedURL提供了值,将忽略 hostname

  • 设置 - IPaginatedReportSettings类型的配置对象。 此对象指定有关报表参数面板外观的信息。 参数面板是可展开或隐藏的操作栏下方的条形图。

    显示嵌入式 Power B I 分页报表的屏幕截图。参数面板靠近顶部,并突出显示为红色。

    • 可以通过单击操作栏上的 参数 按钮来显示或隐藏参数面板。 该按钮默认可用。 但是,如果将面板的 enabled 属性配置为 false,则 参数 按钮不可用。

    • 默认情况下,API 折叠参数面板。 如果将面板的 expanded 属性设置为 true,API 将加载此面板展开的报表。

    • 此代码显示了配置 settings 属性的一种方法:

      settings: {
          commands: {
              parameterPanel: {
                  enabled: true,
                  expanded: true
              }
          }
      }
      
  • tokenType - 用于访问要嵌入的 Power BI 数据的令牌类型。

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

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

  • parameterValuesIPaginatedReportParameter类型的配置对象。 使用此属性设置报表参数。 此方法使用 JavaScript SDK,是传递报表参数的首选方法。 例如:

    parameterValues: [
          {name: "State", value: "WA"},
          {name: "City", value: "Seattle"},
          {name: "City", value: "Bellevue"},
          {name: "City", value: "Redmond"}
    ]
    

    此方法只能用于传递 报表参数(这些参数具有 URL 前缀 rp:),而不 rdl 参数(URL 前缀 rdl:)。

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

// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
    accessToken: anAccessToken,
    embedUrl: anEmbedUrl,
    uniqueId: aReportId,
    tokenType: aTokenType,
    type: 'report',
    datasetBindings: [{
      sourceDatasetId: "originalDatasetId",
      targetDatasetId: "notOriginalDatasetId"
    }]
};
 
// 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);

请确保在 多资源嵌入令牌中包含用于绑定的所有 DatasetId。

注意事项和限制

  • 若要使用动态绑定,请参阅 将数据集动态绑定到分页报表
  • 分页报表不支持启动的方法。
  • 嵌入分页报表时不支持 多值参数
  • parameterValues 属性只能用于报表参数。 它不能用于 rdl 参数。
  • 不支持使用实时数据集(推送数据集)嵌入分页报表。