共用方式為


內嵌報表視覺效果

提示

請嘗試在 Power BI Embedded Analytics 遊樂場探索 API 一節中內嵌報表視覺效果或實驗用戶端 API。

本文涵蓋在應用程式中內嵌視覺效果的步驟。 深入瞭解 Power BI中 視覺效果中的視覺效果。

如何內嵌視覺效果

當您在應用程式中內嵌 Power BI 內容時,您可以使用組態物件來定義您要內嵌的內容,以及指定內容的設定。 然後將該對象傳遞至 API。

當您內嵌視覺效果時,請使用類型為 IVisualLoadConfiguration的組態物件:

interface IVisualLoadConfiguration {
    accessToken?: string;
    embedUrl?: string;
    id?: string;
    pageName: string;
    tokenType?: models.TokenType;
    type: string;
    visualName: string;
}

此介面包含下列屬性:

  • accessToken - 可讓您存取您要內嵌的 Power BI 數據令牌。 若要深入瞭解存取令牌,請參閱 瞭解不同的內嵌解決方案

  • embedUrl - 報表的 URL,其中包含您要內嵌的視覺效果。 此 URL 會成為包含內嵌視覺效果的 HTML iframe 項目來源。 具體來說,API 會將URL指派給 iframesrc 屬性。 您可以使用 報表 API 來取得此 URL。 兩個範例包括:

  • id - Power BI 報表的標識碼,其中包含您要內嵌的視覺效果。

  • pageName - 包含您要內嵌之視覺效果的頁面名稱。 您可以使用 Report getPages 方法來取得報表中的頁面。

  • tokenType - 可讓您存取所內嵌之 Power BI 數據的令牌類型。

    • 如果您要內嵌組織(使用者擁有數據),請使用 models.TokenType.Aad
    • 如果您要為客戶內嵌 models.TokenType.Embed (應用程式擁有資料)。

    如需詳細資訊,請參閱 瞭解不同的內嵌解決方案

  • type - 您要內嵌的內容種類。 針對視覺效果使用 'visual'

  • visualName - 您要內嵌的視覺效果名稱。 您可以使用Page getVisuals 方法來取得頁面中的視覺效果。

下列範例示範如何內嵌單一視覺效果:

// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
    accessToken: anAccessToken,
    embedUrl: anEmbedUrl,
    id: aReportId,
    pageName: aPageName,
    tokenType: aTokenType,
    type: 'visual',
    visualName: aVisualName
};
 
// Get a reference to the HTML element that contains the embedded report.
let embedContainer = $('#embedContainer')[0];
 
// Embed the visual.
let visual = powerbi.embed(embedContainer, embedConfiguration);

過濾器

根據預設,updateFilters API 會在內嵌單一報表視覺效果時套用視覺效果層級篩選。 這可能會導致與內嵌組態物件中套用的篩選條件發生衝突,因為這些篩選會在報表層級套用。 若要修正此問題,您可以使用 API 設定篩選層級:

await visual.updateFilters(FiltersOperations.Add, filters, FiltersLevel.Report);

深入瞭解 控件報表篩選中的篩選。