提示
请尝试在 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 将成为包含嵌入报表的 HTMLiframe元素的源。 具体而言,API 将 URL 分配给iframe的src属性。 可以使用 报表 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 接口还包含其他属性。 有关这些属性的信息,请参阅 配置报表设置:
bookmarkcontrastModefilterspageNamesettingsslicersthemeviewMode
嵌入新报表
嵌入从数据集创建的新报表时,请使用 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 将成为包含嵌入报表的 HTMLiframe元素的源。 具体而言,API 将 URL 分配给iframe的src属性。 可以使用 数据集 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);