Hallo zusammen! Ich bin Marcus, und in diesem Blogartikel erkläre ich euch, was man unter Query Folding in Power BI versteht und warum es so wichtig ist. Im folgenden Beitrag werde ich die Grundlagen erläutern und zeigen, wie man Query Folding effektiv nutzen kann, um die Performance eurer Datenabfragen zu verbessern.
Was ist Query Folding?
Query Folding bezeichnet den Prozess, bei dem Power Query die Schritte einer Datenabfrage in eine native Abfrage umwandelt, die direkt an die Datenquelle gesendet wird. Das bedeutet, dass die Daten bereits an der Quelle vorgefiltert und aggregiert werden, bevor sie nach Power BI übertragen werden. Dadurch wird die Menge der zu übertragenden Daten reduziert, was die Abfragezeit erheblich verkürzt und die Effizienz erhöht.
Warum ist Query Folding wichtig?
Ohne Query Folding muss Power Query die gesamte Datenmenge von der Quelle abrufen und dann lokal verarbeiten. Das führt zu längeren Ladezeiten und einer höheren Belastung der Verbindung, insbesondere bei großen Datensätzen. Mit Query Folding hingegen werden nur die relevanten Daten abgerufen, was die Leistung optimiert und die Datenübertragung beschleunigt.
Praktische Anwendung in Power BI Desktop
Schauen wir uns das Ganze in Power BI Desktop an. Angenommen, wir haben eine Abfrage auf der Customer-Tabelle (Kundentabelle) erstellt. Auf der rechten Seite im Power Query Editor sehen wir die verschiedenen Anwendungsschritte. Um zu überprüfen, ob Query Folding angewendet wird, können wir auf einen Anwendungsschritt klicken und das Kontextmenü öffnen. Wenn die Option "Systemeigene Abfrage anzeigen" verfügbar ist, zeigt Power Query das generierte SQL an, das an die Datenquelle gesendet wird.
Beispiel: Query Folding unterbrechen und optimieren
Nehmen wir an, wir fügen einen Schritt hinzu, der das Query Folding unterbricht, z.B. "Hinzugefügter Index". Ab diesem Punkt werden alle weiteren Schritte nicht mehr an die Datenquelle gesendet, sondern lokal in Power Query ausgeführt. Das führt zu einer ineffizienten Verarbeitung.
Um dies zu optimieren, sollten wir den "Hinzugefügter Index"-Schritt ans Ende der Abfrage verschieben. Dadurch werden vorher alle irrelevanten Zeilen und Spalten herausgefiltert, und nur die notwendigen Daten werden abgerufen. Erst danach fügt Power Query den Index lokal hinzu, was die Effizienz der Abfrage erheblich verbessert.
Query Folding in Power Query Online und Dataflows
In Power Query Online und Dataflows bietet Microsoft eine visuelle Unterstützung für Query Folding. Hier zeigt eine grüne Linie mit einem Blitzsymbol an, dass die Abfragebedingungen an die Datenquelle übergeben werden können. Ein Uhrsymbol neben einem Anwendungsschritt signalisiert, dass das Query Folding unterbrochen ist und die Verarbeitung lokal erfolgt.
Diese Visualisierung wird zukünftig auch in Power BI Desktop verfügbar sein, was die Optimierung von Abfragen weiter erleichtern wird.
Unterstützung verschiedener Datenquellen
Query Folding wird von verschiedenen Datenquellen unterstützt, hauptsächlich von solchen, die über eine eigene Abfrage-Engine verfügen, wie SQL-Datenbanken oder bestimmte Webservices. Bei Webservices ist Query Folding oft nicht direkt sichtbar, kann aber durch genaue Prüfung der Verbindungsaufrufe nachgewiesen werden.
Fazit
Query Folding ist eine leistungsstarke Funktion in Power BI, die die Effizienz von Datenabfragen erheblich verbessern kann. Indem Abfragen direkt an die Datenquelle übergeben werden, reduziert sich die zu übertragende Datenmenge und die Verarbeitung wird beschleunigt. Durch die richtige Anwendung und Optimierung von Query Folding können Sie die Performance Ihrer Power BI-Berichte deutlich steigern.
Wenn ihr weitere Fragen zu diesem Thema habt oder mehr darüber erfahren möchtet, hinterlasst einen Kommentar. Bis zum nächsten Mal!
Comments