內嵌儀錶板

本文涵蓋在應用程式中內嵌儀錶板的步驟。 若要深入瞭解儀錶板,請參閱 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 會成為包含內嵌儀錶板的 HTML iframe 項目來源。 具體來說,API 會將URL指派給 iframesrc 屬性。 您可以使用 儀錶板 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 項目中顯示內容。 如果您在內嵌儀錶板時,使用 pageViewactualSize

    • 如果儀錶板比 div 元素寬,API 會使用 div 項目的寬度做為內嵌儀錶板的寬度。
    • 如果儀錶板比 div 元素窄,API 會以內嵌背景填滿未使用的空間。 根據預設,該背景為白色,但您可以將它設定為透明。 在此情況下,div 項目的樣式會顯示在未使用的空間中。