嵌入仪表板
本文介绍在应用程序中嵌入仪表板的步骤。 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 分配给iframe
的src
属性。 可以使用 仪表板 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
元素的样式在未使用的空间中可见。
- 如果仪表板比