內嵌報表視覺效果
提示
請嘗試在 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 會成為包含內嵌視覺效果的 HTMLiframe
項目來源。 具體來說,API 會將URL指派給iframe
的src
屬性。 您可以使用 報表 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);
深入瞭解 控件報表篩選中的篩選。