嵌入分页报表
提示
请尝试在
本文介绍在应用程序中嵌入分页报表的步骤。 在 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。
主机名 - 默认
hostname
值 app.powerbi.com。 如果使用主权云,请在此处提供 URL。 如果为embedURL
提供了值,将忽略hostname
。设置 - IPaginatedReportSettings类型的配置对象。 此对象指定有关报表参数面板外观的信息。 参数面板是可展开或隐藏的操作栏下方的条形图。
可以通过单击操作栏上的 参数 按钮来显示或隐藏参数面板。 该按钮默认可用。 但是,如果将面板的
enabled
属性配置为false
,则 参数 按钮不可用。默认情况下,API 折叠参数面板。 如果将面板的
expanded
属性设置为true
,API 将加载此面板展开的报表。此代码显示了配置
settings
属性的一种方法:settings: { commands: { parameterPanel: { enabled: true, expanded: true } } }
tokenType - 用于访问要嵌入的 Power BI 数据的令牌类型。
- 如果要为组织嵌入(用户拥有数据),请使用
models.TokenType.Aad
。 - 如果要为客户嵌入(应用拥有数据),请使用
models.TokenType.Embed
。
有关详细信息,请参阅 了解不同的嵌入解决方案。
- 如果要为组织嵌入(用户拥有数据),请使用
parameterValues –
IPaginatedReportParameter
类型的配置对象。 使用此属性设置报表参数。 此方法使用 JavaScript SDK,是传递报表参数的首选方法。 例如:parameterValues: [ {name: "State", value: "WA"}, {name: "City", value: "Seattle"}, {name: "City", value: "Bellevue"}, {name: "City", value: "Redmond"} ]
例
以下示例演示如何嵌入分页报表:
// 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 参数。 - 不支持使用实时数据集(推送数据集)嵌入分页报表。