Schneller und effizienter in Power BI
Inkrementelle Aktualisierung verringert Ladezeiten
Von: Joël Galla
Die inkrementelle Aktualisierung ist eine Funktion in Power BI, die es ermöglicht, nur die neuen oder geänderten Daten in einem Datensatz zu aktualisieren. Dadurch muss nicht der gesamte Datensatz neu geladen werden. Dies ist besonders nützlich, wenn du mit großen Datenmengen arbeitest. Die Aktualisierungszeit wird erheblich verkürzt und die Performance deiner Berichte und Dashboards verbessert. Insbesondere bei komplexen Datensätzen oder wenn die Daten regelmäßig geladen werden müssen, kannst du Zeit sparen. Die inkrementelle Aktualisierung hat aber noch weitere Vorteile, die ich dir aufzeigen möchte.
Zeiteinsparung
Wenn man mit großen Datenmengen arbeitet, kann die Aktualisierung eines gesamten Datensatzes sehr zeitaufwendig sein. Wir selbst haben in der Praxis teilweise mit Datensätzen gearbeitet, die bei jeder Aktualisierung mehrere Stunden geladen werden mussten. Im Extremfall kann es vorkommen, dass die Grenzwerte von zwei Stunden (Pro-Lizenz) bzw. fünf Stunden (Premium) überschritten werden und die Aktualisierung fehlschlägt. Die inkrementelle Aktualisierung ermöglicht es, nur die neuesten Änderungen zu aktualisieren. Dadurch, dass nur ein Teil und in der Regel auch nur ein kleiner Teil der Daten geladen wird, gewinnen wir hier deutlich an Performance.
Ressourceneffizienz
Es wird niemanden überraschen, dass ein vollständiges Neuladen der Daten mehr Rechenleistung und Arbeitsspeicher erfordert. Die inkrementelle Aktualisierung spart Ressourcen, da nur die notwendigen Änderungen verarbeitet werden.
Aktualität
Die inkrementelle Aktualisierung ermöglicht es dir, deine Daten häufiger zu aktualisieren, ohne die Leistung zu beeinträchtigen. Dies ist wichtig, um sicherzustellen, dass deine Berichte und Dashboards immer mit den neuesten Daten aktualisiert sind. Wie schon angedeutet, kann man hier noch mehr machen als nur Daten neu laden.
Es gibt verschiedene Varianten. Die beiden wichtigsten Abfrage-Modi sind „Import“ und „DirectQuery“. Der Import-Modus lädt Daten in das Set an sich (also den Arbeitsspeicher der Power BI-Kapazität) und der DirectQuery-Modus ruft Daten direkt aus der Datenquelle ab. Wir können jetzt mit Hybrid-Tabellen diese zwei Technologien verbinden. Alte Daten können mit Hilfe des Import-Modus in das Dataset geladen werden. So weit so bekannt, zusätzlich können jetzt die neuesten Daten mit DirectQuery geladen werden. Das ermöglicht uns, nahezu Realtime-Daten zu nutzen. Wieso nutzen wir nicht einfach von Anfang an DirectQuery? Das hat simple Performancegründe.
Wie funktioniert inkrementelle Aktualisierung in Power BI?
Aber wie funktioniert es nun im Hintergrund? Um die Daten Stück für Stück laden zu können, muss Power BI die Daten in Partitionen aufteilen. Damit kommen wir auch schon zu den Grenzen der inkrementellen Aktualisierung. Denn damit Power BI Partitionen erstellen kann und weiß, welche Daten es laden muss, brauchen die Daten einen Zeitstempel. Außerdem kann Power BI nur aktuelle Daten nachladen, das heißt, es können nicht einfach Daten in der zeitlichen Mitte des Datensatzes nachgeladen werden. In der Praxis wird das zwar so gut wie immer gewährleistet sein, aber es ist wichtig im Hinterkopf zu haben, wo mögliche Limitierungen sind.
Schritt für Schritt
Um es in Power BI zu benutzen, legen wir zuerst zwei Parameter fest. Diese werden allerdings nach dem Veröffentlichen überschrieben. Wichtig ist, dass die Parameter RangeStart und RangeEnd heißen müssen, sonst funktioniert es nicht. Wir öffnen nun Daten transformieren und dann Parameter verwalten, um auf Neuer Parameter zu klicken.
Wir geben hier den Typen Datum/Uhrzeit vor und können dann unser Start- bzw. Enddatum wählen. Im Power Query-Editor klicken sie auf den kleinen Dropdownpfeil in der Datumsspalte und klicken auf Datumsfilter und danach auf Benutzerdefinierter Filter. Dieses Feld erscheint:
Hier können jetzt die Parameter ausgewählt werden wichtig ist, dass hier entsprechend ausgewählt wird das wir nach Parametern filtern. Jetzt können mit einem Rechtsklick die gewünschte Tabelle auswählen und inkrementelle Aktualisierung auswählen. Wähle hier einfach die entsprechenden Zeiträume aus. Es sollte ungefähr so aussehen:
Du kannst noch optionale Einstellungen tätigen. Zuletzt muss alles noch veröffentlicht werden und damit ist es vollbracht.
Fazit
Die inkrementelle Aktualisierung bietet eine gute Möglichkeit, die Ladezeiten von Datasets zu verkürzen und die Daten aktuell zu halten. Außerdem ist es schnell und einfach zu erstellen. Im Allgemeinen kann es helfen, die Performance zu verbessern und ist besonders bei großen Datenmengen nützlich.