Behandeln von Problemen bei der inkrementellen Aktualisierung und bei Echtzeitdaten
Es gibt bei der Implementierung einer Lösung für die inkrementelle Aktualisierung und Echtzeitdaten zwei Phasen. Die erste ist das Konfigurieren von Parametern, Filtern und Definieren einer Richtlinie in Power BI Desktop und die zweite ist der erste Aktualisierungsvorgang des Semantikmodells und nachfolgende Aktualisierungen im Dienst. In diesem Artikel wird die Problembehandlung für jede dieser Phasen separat erläutert.
Nachdem die Tabelle im Power BI-Dienst partitioniert wurde, ist es wichtig zu beachten, dass inkrementell aktualisierte Tabellen, die zugleich Echtzeitdaten mit DirectQuery erhalten, jetzt im Hybridmodus ausgeführt werden, d. h., sie werden sowohl im Import- als auch im DirectQuery-Modus ausgeführt. Alle Tabellen mit Beziehungen zu einer solchen inkrementell aktualisierten Hybridtabelle müssen den dualen Modus verwenden, damit sie im Import- und im DirectQuery-Modus ohne Leistungseinbußen verwendet werden können. Darüber hinaus führen Berichtsvisuals möglicherweise eine Zwischenspeicherung von Ergebnissen durch, um das Zurücksenden von Abfragen an die Datenquelle zu vermeiden, was verhindern würde, dass die Tabelle die neuesten Datenupdates in Echtzeit erfasst. Im letzten Abschnitt zur Problembehandlung werden diese Probleme im Hybridmodus behandelt.
Bevor Sie Probleme mit der inkrementellen Aktualisierung und Echtzeitdaten behandeln, lesen Sie Inkrementelle Aktualisierung für Semantikmodelle und Echtzeitdaten und die Schritt-für-Schritt-Informationen unter Konfigurieren inkrementeller Aktualisierungen und Echtzeitdaten.
Konfigurieren in Power BI Desktop
Die meisten Probleme, die beim Konfigurieren von inkrementeller Aktualisierung und Echtzeitdaten auftreten, hängen mit Query Folding zusammen. Wie unter Übersicht über inkrementelle Aktualisierung für Semantikmodelle – Unterstützte Datenquellen beschrieben, muss Ihre Datenquelle Query Folding unterstützen.
Problem: Das Laden von Daten dauert zu lange.
Im Power Query-Editor nimmt das Laden von Daten nach dem Auswählen von Anwenden übermäßig viel Zeit und Computerressourcen in Anspruch. Dafür gibt es mehrere mögliche Ursachen.
Ursache: Datentypkonflikt
Dieses Problem kann durch einen Datentypkonflikt verursacht werden, bei dem Date/Time
der erforderliche Datentyp für die RangeStart
- und RangeEnd
-Parameter ist, aber die Datumsspalte der Tabelle, auf die die Filter angewendet werden, nicht vom Datentyp Date/Time
ist oder umgekehrt. Sowohl der Parameterdatentyp als auch die gefilterte Datenspalte müssen den Datentyp Date/Time
aufweisen, und das Format muss identisch sein. Andernfalls ist kein Query Folding möglich.
Lösung: Überprüfen von Datentypen
Stellen Sie sicher, dass die Datums-/Uhrzeitspalte der Tabelle für inkrementelle Aktualisierungen den Datentyp Date/Time
aufweist. Wenn ihre Tabelle keine Spalte vom Datentyp Date/Time
enthält, sondern stattdessen einen Integer-Datentyp verwendet, können Sie eine Funktion erstellen, die den Datums-/Uhrzeitwert in den Parametern RangeStart
und RangeEnd
so konvertiert, dass sie mit dem Integer-Ersatzschlüssel der Datenquellentabelle übereinstimmt. Weitere Informationen finden Sie unter Konfigurieren inkrementeller Aktualisierungen – Konvertieren von DateTime in Integer.
Ursache: Die Datenquelle unterstützt kein Query Folding.
Wie unter Inkrementelle Aktualisierung für Semantikmodelle und Echtzeitdaten – Anforderungen beschrieben, ist die inkrementelle Aktualisierung für Datenquellen konzipiert, die Query Folding unterstützen. Stellen Sie sicher, dass Datenquellenabfragen in Power BI Desktop gefaltet werden, bevor Sie sie im Dienst veröffentlichen, da dort verstärkt Probleme mit Query Folding auftreten. Dieser Anssatz ist besonders wichtig, wenn Echtzeitdaten in eine Richtlinie für inkrementelle Aktualisierungen eingeschlossen werden, da die DirectQuery-Partition für Echtzeitdaten Query Folding erfordert.
Lösung: Überprüfen und Testen von Abfragen
In den meisten Fällen wird im Dialogfeld der Richtlinie für inkrementelle Aktualisierung eine Warnung angezeigt, die angibt, wenn die Abfrage, die für die Datenquelle ausgeführt werden soll, kein Query Folding unterstützt. In einigen Fällen kann es jedoch erforderlich sein, zusätzlich sicherzustellen, dass Query Folding möglich ist. Überwachen Sie nach Möglichkeit die Abfrage, die an die Datenquelle übergeben wird, mithilfe eines Tools wie SQL Profiler. Eine Abfrage mit Filtern, die auf RangeStart
und RangeEnd
basieren, muss in einer einzelnen Abfrage ausgeführt werden.
Sie können auch einen kurzen Zeitraum für Datum/Uhrzeit in den Parametern RangeStart
und RangeEnd
angeben, der nicht mehr als ein paar Tausend Zeilen enthält. Wenn das Laden gefilterter Daten aus der Datenquelle in das Modell sehr lange dauert und sehr prozessintensiv ist, bedeutet dies wahrscheinlich, dass die Abfrage nicht gefaltet wird.
Wenn Sie dies feststellen, finden Sie unter Query Folding-Anleitung in Power BI Desktop und Query Folding in Power Query Hilfe bei der Ermittlung, was das Query Folding verhindert, und wie oder ob die Datenquelle überhaupt Query Folding unterstützen kann.
Aktualisierung des Semantikmodells im Dienst
Die Behandlung von Problemen bei der inkrementellen Aktualisierung im Dienst hängt von der Art der Kapazität ab, in der Ihr Semantikmodell veröffentlicht wurde. Semantikmodelle in Premium-Kapazitäten unterstützen die Verwendung von Tools wie SQL Server Management Studio (SSMS) zum Anzeigen und selektiven Aktualisieren einzelner Partitionen. Power BI Pro-Semantikmodelle bieten dagegen keinen Toolzugriff über den XMLA-Endpunkt, sodass bei Problemen mit der inkrementellen Aktualisierung möglicherweise verstärkt das Versuch-und-Irrtum-Prinzip angewendet werden muss.
Problem: Timeout bei der ersten Aktualisierung
Für geplante Aktualisierungen von Power BI Pro-Semantikmodellen in einer gemeinsam genutzten Kapazität gilt ein Zeitlimit von zwei Stunden. Für Semantikmodelle in einer Premium-Kapazität erhöht sich dieses Zeitlimit auf fünf Stunden. Datenquellensysteme können auch ein Limit für die Abfragerückgabegröße oder ein Abfragetimeout festlegen.
Ursache: Datenquellenabfragen werden nicht gefaltet.
Während Query Folding-Probleme in Power BI Desktop in der Regel vor der Veröffentlichung im Dienst festgestellt werden können, ist es möglich, dass Abfragen zur Aktualisierung von Semantikmodellen nicht gefaltet werden, was zu übermäßigen Aktualisierungszeiten und zur Ressourcenauslastung der Mashup-Engine für Abfragen führt. Diese Situation tritt ein, weil für jede Partition im Semantikmodell eine Abfrage erstellt wird. Wenn die Abfragen nicht gefaltet werden und die Daten an der Datenquelle nicht gefiltert werden, versucht die Engine, die Daten zu filtern.
Lösung: Überprüfen von Query Folding
Verwenden Sie ein Ablaufverfolgungstool in der Datenquelle, um festzustellen, ob die für jede Partition übergebene Abfrage eine einzelne Abfrage ist, die einen Filter enthält, der auf den Parametern „RangeStart“ und „RangeEnd“ basiert. Wenn dies nicht der Fall ist, überprüfen Sie, ob Query Folding im Power BI Desktop-Modell erfolgt, wenn eine kleine gefilterte Datenmenge in das Modell geladen wird. Wenn nicht, beheben Sie das Problem zuerst im Modell, führen Sie eine reine Metadatenaktualisierung des Semantikmodells durch (mithilfe des XMLA-Endpunkts) oder, wenn es sich um ein Power BI Pro-Semantikmodell in einer gemeinsam genutzten Kapazität handelt, löschen Sie das unvollständige Semantikmodell im Dienst, veröffentlichen Sie es erneut und versuchen Sie erneut einen ersten Aktualisierungsvorgang.
Wenn Sie feststellen, dass Abfragen nicht gefaltet werden, finden Sie unter Query Folding-Anleitung für Power BI Desktop und Query Folding in Power Query Hilfe bei der Identifizierung der Ursachen, die das Query Folding verhindern können.
Ursache: Die in die Partitionen geladenen Daten sind zu groß.
Lösung: Verringern der Modellgröße
In vielen Fällen wird die Zeitüberschreitung dadurch verursacht, dass die Menge der Daten, die abgefragt und in die Semantikmodell-Partitionen geladen werden müssen, die durch die Kapazität auferlegten Zeitgrenzen überschreitet. Reduzieren Sie die Größe oder Komplexität des Semantikmodells, oder teilen Sie das Semantikmodell in kleinere Semantikmodelle auf.
Lösung: Aktivieren des Speicherformats für große Modelle
Wenn in Premium-Kapazitäten veröffentlichte Semantikmodelle auf 1 GB oder mehr anwachsen, können Sie die Leistung des Aktualisierungsvorgangs verbessern und sicherstellen, dass das Semantikmodell die Größenbeschränkungen nicht überschreitet, indem Sie das Speicherformat für große Semantikmodelle aktivieren, bevor Sie den ersten Aktualisierungsvorgang im Dienst durchführen. Weitere Informationen finden Sie unter Große Modelle in Power BI Premium.
Lösung: Bootstrapping der Erstaktualisierung
Für Semantikmodelle, die in Premium-Kapazitäten veröffentlicht werden, können Sie den ersten Aktualisierungsvorgang per Bootstrap ausführen. Durch Bootstrapping kann der Dienst Tabellen- und Partitionsobjekte für das Semantikmodell erstellen, aber keine Verlaufsdaten in eine der Partitionen laden und verarbeiten. Weitere Informationen finden Sie unter Erweiterte inkrementelle Aktualisierung – Verhindern von Timeouts bei der ersten vollständigen Aktualisierung.
Ursache: Timeout bei Datenquellenabfragen
Abfragen können durch ein standardmäßiges Zeitlimit für die Datenquelle eingeschränkt werden.
Lösung: Überschreiben des Zeitlimits im Abfrageausdruck
Viele Datenquellen ermöglichen das Überschreiben des Zeitlimits im Abfrageausdruck. Weitere Informationen finden Sie unter Inkrementelle Aktualisierung für Modelle – Zeitlimits.
Problem: Aktualisierung schlägt aufgrund doppelter Werte fehl.
Ursache: Veröffentlichungsdaten wurden geändert.
Bei einem Aktualisierungsvorgang werden nur Daten, die sich in der Datenquelle geändert haben, im Semantikmodell aktualisiert. Da die Daten durch ein Datum geteilt sind, empfiehlt es sich, Veröffentlichungsdaten (Transaktion) nicht zu ändern.
Wenn ein Datum versehentlich geändert wird, können zwei Probleme auftreten: Benutzer bemerken, dass sich einige Summen in den Verlaufsdaten geändert haben (was nicht passieren sollte), oder bei einer Aktualisierung wird ein Fehler zurückgegeben, der angibt, dass ein eindeutiger Wert nicht tatsächlich eindeutig ist.
Das letztere Problem kann eintreten, wenn die Tabelle mit konfigurierter inkrementeller Aktualisierung in einer 1:N
-Beziehung mit einer anderen Tabelle als die 1
-Seite verwendet wird und eindeutige Werte haben sollte. Wenn die Daten geändert werden (für eine bestimmte ID), erscheint diese ID dann in einer anderen Partition und die Engine erkennt, dass der Wert nicht eindeutig ist.
Lösung: Aktualisieren bestimmter Partitionen
Wenn eine geschäftliche Notwendigkeit vorliegt, einige frühere Daten in den Datumsangaben zu ändern, besteht eine mögliche Lösung in der Verwendung von SSMS, um alle Partitionen von dem Punkt, an dem sich die Änderung befindet, bis zur aktuellen Aktualisierungspartition zu aktualisieren und so die 1
-Seite der Beziehung eindeutig zu halten.
Problem: Daten werden abgeschnitten.
Ursache: Das Abfragelimit für Datenquellen wurde überschritten.
Einige Datenquellen, wie Azure Data Explorer, Log Analytics und Application Insights, haben ein Limit von 64 MB (komprimiert) für Daten, die für eine externe Abfrage zurückgegeben werden können. Azure Data Explorer kann einen expliziten Fehler zurückgeben, aber bei anderen wie Log Analytics und Application Insights werden die zurückgegebenen Daten abgeschnitten.
Lösung: Festlegen kürzerer Aktualisierungs- und Speicherzeiträume
Legen Sie in der Richtlinie kürzere Aktualisierungs- und Speicherzeiträume fest. Wenn Sie z. B. einen Aktualisierungszeitraum von einem Jahr festgelegt haben und ein Abfragefehler zurückgegeben wird oder die zurückgegebenen Daten abgeschnitten werden, versuchen Sie es mit einem Aktualisierungszeitraum von 12 Monaten. Sie sollten sicherstellen, dass Abfragen für die aktuelle Aktualisierungspartition oder historische Partitionen, die auf den Aktualisierungs- und Speicherzeiträumen basieren, nicht mehr als 64 MB an Daten zurückgeben.
Problem: Aktualisierung schlägt aufgrund von Partitionsschlüsselkonflikten fehl.
Ursache: Das Datum in der Datumsspalte der Datenquelle wird aktualisiert.
Der Filter für die Datumsspalte wird verwendet, um die Daten im Power BI-Dienst dynamisch in Bereiche zu partitionieren. Die inkrementelle Aktualisierung ist nicht für die Unterstützung in Fällen vorgesehen, in denen die gefilterte Datenspalte im Quellsystem aktualisiert wird. Eine Aktualisierung wird als Einfüge- und Löschvorgang interpretiert, nicht als eigentliche Aktualisierung. Wenn der Löschvorgang im Verlaufsbereich und nicht im inkrementellen Bereich erfolgt, wird er nicht übernommen, was aufgrund von Partitionsschlüsselkonflikten zu Datenaktualisierungsfehlern führen kann.
Hybridmodus im Dienst (Vorschau)
Wenn Power BI eine Richtlinie für inkrementelle Aktualisierungen mit Echtzeitdaten anwendet, wird die inkrementell aktualisierte Tabelle in eine Hybridtabelle umgewandelt, die sowohl im Import- als auch im DirectQuery-Modus ausgeführt wird. Beachten Sie die DirectQuery-Partition am Ende der folgenden Partitionsliste einer Beispieltabelle. Das Vorhandensein einer DirectQuery-Partition hat Auswirkungen auf verknüpfte Tabellen und Berichtsvisuals, die diese Tabelle abfragen.
Problem: Die Abfrageleistung ist schlecht
Ursache: Verknüpfte Tabellen sind nicht im dualen Modus
Bei Hybridtabellen, die sowohl im Import- als auch im DirectQuery-Modus ausgeführt werden, ist es erforderlich, dass alle verknüpften Tabellen im dualen Modus betrieben werden, sodass sie je nach Kontext der Abfrage, die an das Power BI-Semantikmodell übermittelt wird, entweder mit oder ohne Zwischenspeicherung funktionieren. Im dualen Modus kann Power BI die Anzahl der eingeschränkten Beziehungen im Semantikmodell reduzieren und effiziente Datenquellenabfragen generieren, um eine gute Leistung sicherzustellen. Eingeschränkte Beziehungen können nicht per Push an die Datenquelle übertragen werden, sodass Power BI mehr Daten als nötig abrufen muss. Da Dual-Tabellen entweder als DirectQuery- oder als Import-Tabellen fungieren können, wird diese Situation vermieden.
Lösung: Konvertieren verknüpfter Tabellen in den dualen Modus
Beim Konfigurieren einer Richtlinie für inkrementelle Aktualisierungen werden Sie von Power BI Desktop daran erinnert, alle verknüpften Tabellen auf den dualen Modus umzustellen, wenn Sie Abrufen der neuesten Daten in Echtzeit mit DirectQuery (nur Premium) auswählen. Stellen Sie darüber hinaus sicher, dass Sie alle vorhandenen Tabellenbeziehungen in der Modellansicht überprüfen.
Tabellen, die derzeit im DirectQuery-Modus ausgeführt werden, können problemlos auf den dualen Modus umgestellt werden. Wählen Sie in den Tabelleneigenschaften unter „Erweitert“ im Listenfeld „Speichermodus“ die Option „Dual“ aus. Für Tabellen, die derzeit im Importmodus ausgeführt werden, ist jedoch manuelle Arbeit erforderlich. Für Dual-Tabellen gelten dieselben funktionellen Einschränkungen wie für DirectQuery-Tabellen. Power BI Desktop kann daher keine Importtabellen konvertieren, da diese möglicherweise weitere Funktionen benötigen, die im dualen Modus nicht verfügbar sind. Sie müssen diese Tabellen manuell neu im DirectQuery-Modus erstellen und sie dann in den dualen Modus konvertieren. Weitere Informationen dazu finden Sie unter Verwalten des Speichermodus in Power BI Desktop.
Problem: Berichtsvisuals zeigen nicht die neuesten Daten an
Ursache: Power BI speichert Abfrageergebnisse zwischen, um die Leistung zu verbessern und die Back-End-Auslastung zu verringern
Standardmäßig speichert Power BI Abfrageergebnisse zwischen, damit Abfragen von Berichtsvisuals auch dann schnell verarbeitet werden können, wenn sie auf DirectQuery basieren. Das Vermeiden unnötiger Datenquellenabfragen verbessert die Leistung und reduziert die Auslastung der Datenquelle. Dies kann jedoch auch bedeuten, dass die neuesten Datenänderungen in der Quelle nicht in den Ergebnissen enthalten sind.
Lösung: Konfigurieren der automatischen Seitenaktualisierung
Um weiterhin die neuesten Datenänderungen aus der Quelle abzurufen, konfigurieren Sie für Ihre Berichte im Power BI-Dienst die automatische Seitenaktualisierung. Die automatische Seitenaktualisierung kann in festen Intervallen durchgeführt werden, z. B. fünf Sekunden oder zehn Minuten. Wenn dieses bestimmte Intervall erreicht ist, senden alle visuellen Elemente auf dieser Seite eine Aktualisierungsabfrage an die Datenquelle und werden entsprechend aktualisiert. Alternativ können Sie Visuals auf einer Seite auf der Grundlage erkannter Änderungen an den Daten aktualisieren. Dieser Ansatz erfordert eine Maßnahme zum Erkennen von Änderungen erforderlich, die dann von Power BI verwendet wird, um die Datenquelle auf Datenänderungen abzufragen. Die Änderungserkennung wird nur in Arbeitsbereichen unterstützt, die Teil einer Premium-Kapazität sind. Weitere Informationen dazu finden Sie unter Automatische Seitenaktualisierung in Power BI.