Freigeben über


Einbetten eines visuellen Berichts

Trinkgeld

Versuchen Sie, einen Bericht visuell einzubetten oder mit unseren Client-APIs im Erkunden unserer APIs Abschnitt des Power BI Embedded Analytics Playground.

In diesem Artikel werden die Schritte zum Einbetten eines visuellen Elements in Ihre Anwendung behandelt. Erfahren Sie mehr über visuelle Elemente in Visuals in Power BI.

Einbetten eines visuellen Elements

Wenn Sie Power BI-Inhalte in eine App einbetten, verwenden Sie ein Konfigurationsobjekt, um den Inhalt zu definieren, den Sie einbetten, und um die Einstellungen des Inhalts anzugeben. Anschließend übergeben Sie dieses Objekt an die API.

Verwenden Sie beim Einbetten eines visuellen Elements 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, mit dem Sie Zugriff auf die Power BI-Daten erhalten, die Sie einbetten. Weitere Informationen zu Zugriffstoken finden Sie unter Grundlegendes zu den verschiedenen Einbettungslösungen.

  • embedUrl – Die URL des Berichts, der das visuelle Element enthält, das Sie einbetten. Diese URL wird zur Quelle des HTML-iframe Elements, das das eingebettete visuelle Element enthält. Insbesondere weist die API die URL dem src Attribut des iframezu. Sie können eine Berichts-API- verwenden, um diese URL abzurufen. Zwei Beispiele sind:

  • id – Die ID des Power BI-Berichts, der das visuelle Element enthält, das Sie einbetten.

  • pageName – Der Name der Seite, die das visuelle Element enthält, das Sie einbetten. Sie können die Methode "Report getPages" verwenden, um die Seiten in einem Bericht abzurufen.

  • tokenType – Die Art des Tokens, das Ihnen Zugriff auf die Power BI-Daten ermöglicht, die Sie einbetten.

    • Verwenden Sie models.TokenType.Aad, wenn Sie ihre Organisation einbetten (der Benutzer besitzt die Daten).
    • Verwenden Sie models.TokenType.Embed, wenn Sie ihre Kunden einbetten (die App besitzt die Daten).

    Weitere Informationen finden Sie unter Grundlegendes zu den verschiedenen Einbettungslösungen.

  • type – Die Art der Inhalte, die Sie einbetten. Verwenden Sie 'visual' für ein visuelles Element.

  • visualName – Der Name des visuellen Elements, das Sie einbetten. Sie können die Page getVisuals Methode verwenden, um die visuellen Elemente auf einer Seite abzurufen.

Beispiel

Das folgende Beispiel zeigt, wie Sie ein einzelnes visuelles Element 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 Beim Einbetten eines einzelnen Berichts visuelle Filter auf visueller Ebene an. 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 in Steuerelementberichtfiltern.