将数据集动态绑定到分页报表

Power BI 报表和分页报表基于现有数据集生成。 该数据集定义报表视觉对象使用的数据架构。 通过使用动态绑定,可以在嵌入分页报表视觉对象时动态选择数据集。

选择的数据集需要使用相同的数据架构。 如果有多个数据集具有相同的数据架构,报表可以动态连接或绑定到其中每个数据集。 然后,可以根据需求显示不同的见解。

动态绑定还提供其他优势。 无需为每个用户创建具有不同数据集的同一报表的副本。 一个报表可以为多个用户提供服务。 然后,此功能可减少维护项的数量,并改进应用程序生命周期处理。 因此,动态绑定简化了新客户的加入。

如何将报表动态连接到多个数据集

报表和数据集可以位于单独的 工作区中,但两个工作区都必须具有容量。

为客户嵌入时,嵌入令牌必须包括报表和动态绑定数据集的权限。 使用新 API 生成支持 Power BI 项(如报表和仪表板)的 嵌入令牌

为组织嵌入时,所使用的用户的 Azure Active Directory (AD) 令牌必须对所有 Power BI 项具有适当的权限。

示例 1:使用动态绑定嵌入分页报表

若要使用动态绑定实现嵌入分页报表,请将 datasetBindings 属性添加到 embed 配置对象,如以下示例所示。

let config = {
    type: 'report',
    tokenType: models.TokenType.Embed,
    accessToken: accessToken,
    embedUrl: embedUrl,
    id: "reportId",
    permissions: permissions,
    datasetBindings: [{
            sourceDatasetId: "originalDatasetId",
            targetDatasetId: "notOriginalDatasetId"
        }]
};

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

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

示例 2:使用动态绑定嵌入分页报表视觉对象

分页报表视觉对象是嵌入在 Power BI 报表中的分页报表。 若要使用动态绑定实现嵌入的分页报表视觉对象,请将 属性添加到 datasetBinding embed 配置对象,如以下示例所示。

let config = {
    type: 'report',
    tokenType: models.TokenType.Embed,
    accessToken: accessToken,
    embedUrl: embedUrl,
    id: "reportId",
    permissions: permissions,
    datasetBinding: {
        datasetId: "notOriginalDatasetId",
        paginatedReportBindings: [{
            sourceDatasetId: "originalDatasetId",
            targetDatasetId: "notOriginalDatasetId"
        }]
    }
};

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

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

注意事项和限制

  • 动态选择的数据集必须在报表中使用相同的数据架构。
  • 为客户嵌入时,使用新 API 生成 嵌入令牌
  • 为组织嵌入时,请确保用户对报表和数据集都具有权限。
  • 属性 datasetBinding 不能为空。 它应包含 、datasetIdpaginatedReportBindings、 或两者。
  • targetDatasetId 的值datasetId不必相同。 绑定独立适用于 .pbix 和分页报表。
  • 属性 datasetBinding 可以包含多个 对象。

后续步骤