将数据集动态绑定到分页报表
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
不能为空。 它应包含 、datasetId
paginatedReportBindings
、 或两者。 - 和
targetDatasetId
的值datasetId
不必相同。 绑定独立适用于 .pbix 和分页报表。 - 属性
datasetBinding
可以包含多个 对象。