嵌入仪表板
本文介绍在应用程序中嵌入仪表板的步骤。 在 Power BI 设计器仪表板简介中了解有关仪表板的详细信息。
提示
请尝试在 Power BI Embedded Analytics Playground 的“探索 API”部分中嵌入仪表板或试验我们的客户端 API。
如何嵌入仪表板
在应用中嵌入 Power BI 内容时,使用配置对象定义要嵌入的内容并指定内容设置。 然后将该对象传递给 API。
嵌入仪表板时,请使用 IDashboardLoadConfiguration 类型的配置对象:
interface IDashboardLoadConfiguration {
accessToken: string;
embedUrl?: string;
id: string;
pageView?: models.PageView
tokenType?: models.TokenType;
type: string;
}
此接口包含以下属性:
accessToken
- 用于访问要嵌入的 Power BI 数据的令牌。 请参阅 了解不同的嵌入解决方案 ,了解有关访问令牌的详细信息。embedUrl
- 要嵌入的仪表板的 URL。 此 URL 将成为包含嵌入仪表板的 HTMLiframe
元素的源。 具体而言,API 将 URL 分配给src
该属性的iframe
URL。 可以使用 仪表板 API 来获取此 URL。 两个示例包括:id
- 要嵌入的仪表板的 ID。 使用 仪表板 API 获取此 ID。 例如:pageView
- API 用于嵌入式仪表板的格式。 可能的情况包括:fitToWidth
- 嵌入仪表板的宽度与包含仪表板的div
元素的宽度匹配。oneColumn
- 嵌入的仪表板显示在一列中。actualSize
- API 显示完全大小的嵌入式仪表板。
tokenType
- 用于访问要嵌入的 Power BI 数据的令牌类型。- 用于
models.TokenType.Aad
为组织嵌入 (用户拥有数据) 。 - 用于
models.TokenType.Embed
为客户嵌入 (应用拥有数据) 。
有关详细信息 ,请参阅了解不同的嵌入解决方案 。
- 用于
type
- 要嵌入的内容类型。 用于'dashboard'
仪表板。
示例
以下示例演示如何嵌入单个仪表板:
// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
accessToken: anAccessToken,
embedUrl: anEmbedUrl,
id: aDashboardId,
pageView: 'fitToWidth',
tokenType: aTokenType,
type: 'dashboard'
};
// Get a reference to the HTML element that contains the embedded dashboard.
let dashboardContainer = $('#dashboardContainer')[0];
// Embed the dashboard.
let dashboard = powerbi.embed(dashboardContainer, embedConfiguration);
注意事项和限制
不支持在 EM SKU 上嵌入仪表板
嵌入内容时,应用会在元素中
div
显示内容。 如果在嵌入仪表板时使用pageView
值actualSize
:- 如果仪表板比
div
元素宽,API 将使用元素的div
宽度作为嵌入仪表板的宽度。 - 如果仪表板比
div
元素窄,API 会用嵌入背景填充未使用的空间。 默认情况下,该背景为白色,但你可以将其配置为透明。 在这种情况下,div
元素的样式在未使用的空间中可见。
- 如果仪表板比