內嵌儀表板
本文涵蓋在應用程式中內嵌儀表板的步驟。 如需深入瞭解儀表板,請參閱 Power BI 設計工具的儀表板簡介。
提示
請嘗試在Power BI Embedded Analytics 遊樂場的探索我們的 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
屬性。 您可以使用 儀表板 API 來取得此 URL。 以下為兩個範例:id
- 您要內嵌之儀表板的識別碼。 使用 儀表板 API 來取得此識別碼。 例如: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
的樣式會顯示在未使用的空間中。
- 如果儀表板比