Einbetten eines Berichtsvisuals
Tipp
Versuchen Sie, ein Berichtsvisual einzubetten, oder experimentieren Sie mit unseren Client-APIs im Abschnitt Erkunden unserer APIs des Power BI Embedded Analytics Playground.
In diesem Artikel werden die Schritte zum Einbetten eines Visuals in Ihre Anwendung beschrieben. Erfahren Sie mehr über Visuals in Visuals in Power BI.
Einbetten eines Visuals
Wenn Sie Power BI-Inhalte in eine App einbetten, verwenden Sie ein Konfigurationsobjekt, um den einzubettenden Inhalt zu definieren und die Einstellungen des Inhalts anzugeben. Anschließend übergeben Sie dieses Objekt an die API.
Wenn Sie ein Visual einbetten, verwenden Sie ein Konfigurationsobjekt vom Typ IVisualLoadConfiguration
:
interface IVisualLoadConfiguration {
accessToken?: string;
embedUrl?: string;
id?: string;
pageName: string;
tokenType?: models.TokenType;
type: string;
visualName: string;
}
Diese Schnittstelle enthält die folgenden Eigenschaften:
accessToken
– Das Token, das Ihnen Zugriff auf die Power BI-Daten ermöglicht, die Sie einbetten. Weitere Informationen zu Zugriffstoken finden Sie unter Grundlegendes zu den verschiedenen Einbettungslösungen .embedUrl
– Die URL des Berichts, der das Visual enthält, das Sie einbetten. Diese URL wird zur Quelle des HTML-Elementsiframe
, das das eingebettete Visual enthält. Insbesondere weist die API die URL demsrc
-Attribut desiframe
zu. Sie können eine Berichts-API verwenden, um diese URL abzurufen. Zwei Beispiele:id
– Die ID des Power BI-Berichts, der das Visual enthält, das Sie einbetten.pageName
– Der Name der Seite, die das Visual enthält, das Sie einbetten. Sie können die Report getPages-Methode verwenden, um die Seiten in einem Bericht abzurufen.tokenType
– Die Art des Tokens, mit dem Sie auf die Power BI-Daten zugreifen können, die Sie einbetten.- Verwenden Sie
models.TokenType.Aad
, wenn Sie für Ihre organization einbetten (der Benutzer besitzt die Daten). - Verwenden Sie
models.TokenType.Embed
, wenn Sie für Ihre Kunden einbetten (die App besitzt die Daten).
Weitere Informationen finden Sie unter Grundlegendes zu den verschiedenen Einbettungslösungen .
- Verwenden Sie
type
– Die Art des Inhalts, den Sie einbetten. Verwenden Sie'visual'
für ein Visual.visualName
– Der Name des Visuals, das Sie einbetten. Sie können die Page getVisuals-Methode verwenden, um die Visuals auf einer Seite abzurufen.
Beispiel
Im folgenden Beispiel wird gezeigt, wie Sie ein einzelnes Visual einbetten:
// 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);
Filter
Standardmäßig wendet die updateFilters
API Filter auf visueller Ebene an, wenn ein einzelnes Berichtsvisual eingebettet wird.
Dies kann zu einem Konflikt mit Filtern führen, die im Einbettungskonfigurationsobjekt angewendet werden, da diese auf Berichtsebene angewendet werden.
Um dieses Problem zu beheben, können Sie die Filterebene mit der API festlegen:
await visual.updateFilters(FiltersOperations.Add, filters, FiltersLevel.Report);
Weitere Informationen zu Filtern finden Sie unter Steuern von Berichtsfiltern.