嵌入报表
提示
请尝试在 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 分配给src
该属性的iframe
URL。 可以使用 报表 API 来获取此 URL。 两个示例包括:id
- 要嵌入的 Power BI 报表的 ID。permissions
- 向用户授予嵌入报表的操作。 这些值可用:Read
- 用户可以查看报表。ReadWrite
- 用户可以查看、编辑和保存报表。Copy
- 用户可以使用“另存为”保存报表的副本。Create
- 用户可以创建新报表。All
- 用户可以创建、查看、编辑、保存和保存报表的副本。
tokenType
- 用于访问要嵌入的 Power BI 数据的令牌类型。models.TokenType.Aad
如果你要为组织嵌入 (用户拥有数据) ,请使用。models.TokenType.Embed
如果你要为客户嵌入 (应用拥有数据) ,请使用。
有关详细信息 ,请参阅了解不同的嵌入解决方案 。
type
- 要嵌入的内容类型。 用于'report'
Power BI 报表。
接口 IReportLoadConfiguration
还包含其他属性。 有关这些属性的信息,请参阅 配置报表设置 :
bookmark
contrastMode
filters
pageName
settings
slicers
theme
viewMode
嵌入新报表
嵌入从数据集创建的新报表时,请使用类型类型的 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 分配给src
该属性的iframe
URL。 可以使用 数据集 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);