Bewährte Methoden für eine schnellere Leistung in Power BI Embedded Analytics
Dieser Artikel enthält Empfehlungen zum schnelleren Rendern von Berichten, Dashboards und Kacheln in Ihrer Anwendung.
Hinweis
Beachten Sie, dass die Ladezeit in der Hauptsache von Elementen abhängt, die für den eigentlichen Bericht und die Daten relevant sind, einschließlich visueller Elemente, der Größe der Daten und der Komplexität der Abfragen und Measures. Weitere Informationen finden Sie im Leitfaden für die Optimierung von Power BI.
Aktualisieren von Tools und SDK-Paketen
Halten Sie Tools und SDK-Pakete auf dem aktuellen Stand.
- Verwenden der neuesten Version von Power BI Desktop.
- Installieren Sie die aktuellste Version des Power BI-Client-SDKs. Es werden laufend neue Verbesserungen veröffentlicht. Sie sollten sich also von Zeit zu Zeit über diese informieren.
- Verwenden der neuesten Version des tabellarischen Editors.
Initialisieren der Einbettung
Vorab Laden
Verwenden Sie powerbi.preload()
, um die Leistung für Endbenutzer zu verbessern. Die Methode powerbi.preload()
lädt JavaScript, CSS-Dateien und andere Elemente herunter, die später zum Einbetten eines Berichts verwendet werden.
Rufen Sie powerbi.preload()
auf, wenn Sie den Bericht nicht sofort einbetten. Wenn die eingebetteten Power BI-Inhalte beispielsweise nicht auf der Startseite angezeigt werden, verwenden Sie powerbi.preload()
, um die Elemente, die zum Einbetten der Inhalte verwendet werden, herunterzuladen und zwischenzuspeichern.
Bootstrapping des iFrames
Hinweis
Das Power BI-Client-SDK der Version 2.9 ist zum Bootstrappen des iFrames erforderlich.
powerbi.bootstrap(element, config)
ermöglicht Ihnen, mit dem Einbetten zu beginnen, bevor alle erforderlichen Parameter verfügbar sind. Die Bootstrap-API bereitet das iFrame vor und initialisiert es.
Wenn Sie die Bootstrap-API verwenden, ist trotzdem ein Aufruf von powerbi.embed(element, config)
für das gleiche HTML-Element erforderlich.
Diese Funktion wird beispielsweise bei der parallelen Ausführung des iFrame-Bootstraps und der Back-End-Aufrufe zum Einbetten verwendet.
Tipp
Verwenden Sie, wenn möglich, die Bootstrap-API, um den iFrame zu generieren, bevor er für den Endbenutzer sichtbar ist.
Stellen Sie beim Einbetten eines Berichts oder anderer Power BI-Elemente sicher, dass der Einbettungscontainer Teil des DOM ist und das CSS-Anzeige-Attribut nicht auf none festgelegt ist, da dies zu unerwarteten Verhaltensweisen führen kann. Wenn Sie den Einbettungscontainer ausblenden möchten, sollten Sie das Sichtbarkeits-CSS-Attribut verwenden.
Einbettungsparameter
Die powerbi.embed(element, config)
-Methode erhält ein Element und einen config-Parameter. Der Konfigurationsparameter enthält Felder, die Einfluss auf die Leistung haben.
Einbettungs-URL
Vermeiden Sie es, die Einbettungs-URL selbst zu erstellen. Achten Sie stattdessen darauf, die Einbettungs-URL durch einen Aufruf der Get reports-, Get dashboards- oder Get tiles-API abzurufen. Der config-Parameter in der URL wird für Leistungsverbesserungen verwendet.
Berechtigungen
Erteilen Sie Ansichtsberechtigungen, wenn Sie keinen Bericht im Bearbeitungsmodus einbetten möchten. Auf diese Weise wird keine Zeit zur Initialisierung von Komponenten aufgewendet, die nur im Bearbeitungsmodus verwendet werden.
Filter, Lesezeichen und Slicer
Normalerweise werden Visuals für Berichte mit zwischengespeicherten Daten gespeichert. Berichte rendern die zwischengespeicherten Daten, während die Abfragen ausgeführt werden. Zwischengespeicherte Daten werden nicht verwendet, wenn Filter, Textmarken oder Slicer angegeben werden, und die Visuals werden erst nach Abschluss der Visualabfrage gerendert.
Wenn Sie Berichte mit den gleichen Filtern, Textmarken und Slicern einbetten, speichern Sie den Bericht mit den bereits angewendeten Filtern, Textmarken und Slicern. Wenn Sie den Bericht auf diese Weise speichern, wird er mithilfe der zwischengespeicherten Daten gerendert, die die Filter, Textmarken und Slicer enthalten, wodurch die Leistung verbessert wird.
Wechseln zwischen Berichten
Generieren Sie beim Einbetten mehrerer Berichte in den gleichen Bereich nicht für jeden Bericht ein neues iFrame. Betten Sie stattdessen den neuen Bericht in das gleiche iFrame ein, um den vorherigen Bericht zu überschreiben. Verwenden Sie powerbi.embed(element, config)
mit einer anderen Konfiguration, um den neuen Bericht einzubetten.
Hinweis
Das Einbetten von Berichten durch „Einbetten“ für Ihre Kundschaft (auch als Szenario „App besitzt Daten“ bekannt) erfordert die Verwendung eines Einbettungstokens mit Berechtigungen für alle Berichte und Semantikmodelle. Weitere Informationen finden Sie unter API zum Generieren von Token.
Mehrere Visuals
Wenn Sie mehrere Visuals aus demselben Bericht einbetten, generieren Sie nicht für jedes Visual ein neues iFrame. Verwenden Sie ein einzelnes iFrame, um den Bericht mit den angegebenen Visualszu rendern.
Berücksichtigen Sie beim Einbetten mehrerer visueller Elemente in einen einzelnen iFrame die folgenden Punkte:
Power BI verwendet iFrames zum Einbetten eines Berichts. Unter Umständen sollten Sie weitere Inhalte zwischen den Visuals hinzufügen (beispielsweise Text oder Grafiken, die nicht aus dem Bericht stammen). In diesem Fall benötigen Sie möglicherweise ein anderes iFrame, um verschiedene Visuals zu rendern. Um eine optimale Leistung zu erzielen, sollten Sie versuchen, die Visuals so anzuordnen, dass möglichst wenige iFrames verwendet werden. Sie sollten die Verwendung des Features „Benutzerdefiniertes Layout“ in Betracht ziehen, um die Anzahl von iFrames zu verringern.
Wenn Sie über Visuals aus verschiedenen Berichten oder Semantikmodellen verfügen, sollten Sie die Semantikmodelle verknüpfen und einen neuen Bericht erstellen, damit Sie alle Visuals in das gleiche iFrame einfügen können.
Wenn Sie nicht über zusammenhängende Regionen oder Daten aus mehreren Semantikmodellen verfügen, können Sie alternativ ein Dashboard erstellen und die Visuals an dieses anheften. Dies ermöglicht Ihnen Folgendes:
- Betten Sie die einzelnen Kacheln in nicht zusammenhängende iFrames ein. Dashboardkacheln sind schlanker als Berichte und werden schneller geladen.
- Betten Sie das gesamte Dashboard in ein iFrame ein. Dadurch können Sie Visuals aus verschiedenen Berichten oder Semantikmodellen in einem iFrame speichern, ohne einen neuen Bericht zu erstellen.
Denken Sie jedoch daran, dass Dashboardkacheln nicht interaktiv sind und nicht mit der gleichen Häufigkeit wie Visuals aktualisiert werden.
Zwischenspeicherung von Abfragen
Organisationen mit Power BI Premium- oder Power BI Embedded-Funktionen können von der Zwischenspeicherung von Abfragen profitieren, um Berichte, die einem Semantikmodell zugeordnet sind, zu beschleunigen.
Weitere Informationen zum Zwischenspeichern von Abfragen in Power BI.
Messen der Leistung
Leistungsereignisse
Zum Messen der eingebetteten Leistung können Sie zwei Ereignisse verwenden:
- Geladenes Ereignis: Die Zeit bis zur Initialisierung des Berichts (das Power BI Logo verschwindet, wenn das Laden abgeschlossen ist).
- Ereignis „Gerendert“: Die Zeit bis zum vollständigen Rendern des Berichts unter Verwendung der tatsächlichen Daten. Das Gerendert-Ereignis wird bei jedem erneuten Rendern des Berichts ausgelöst (beispielsweise nach der Anwendung von Filtern). Achten Sie bei der Messung eines Berichts darauf, die Berechnungen auf der Grundlage des zuerst ausgelösten Ereignisses durchzuführen.
Zwischengespeicherte Daten werden gerendert, wenn sie verfügbar sind. Dabei wird jedoch kein anderes Ereignis generiert.
Weitere Informationen zum Ereignishandling.
Leistungsanalyse
Um die Leistung der Berichtselemente zu untersuchen, können Sie die Leistungsanalyse in Power BI Desktop verwenden. Mit der Leistungsanalyse können Sie Protokolle aufzeichnen und anzeigen, die die Leistung jedes Ihrer Berichtselemente messen.
Weitere Informationen zur Leistungsanalyse
Hinweis
Denken Sie immer daran, die Leistung eines eingebetteten Berichts mit der Leistung auf powerbi.com zu vergleichen. Dies kann Ihnen dabei helfen, den Ursprung von Leistungsproblemen zu verstehen.