Das Excel-Add-In „Power Query“ ist ein Self Service-Werkzeug mit einer intuitiven grafischen Benutzeroberfläche (GUI), die es Anwendern ermöglicht, Lade- und Transformations-Prozesse (ETL) von Daten selbst zu gestalten. Alle mithilfe der GUI erzeugten Schritte werden „unter der Motorhaube“ in Code umgesetzt. Dabei handelt es sich um die Power Query Formula Language, auch bekannt als „Language M“. Weil das ihren Rahmen sprengen würde, bildet die GUI nicht den kompletten Funktionsumfang der Sprache ab. Alle darüber hinausgehenden Anforderungen lassen sich jedoch mit eigenem Code umsetzen. In einer kleinen Blog-Reihe widmet sich Philipp Rouaiha einem Schnell-Einstieg in die Power Query Formula Language und leitet auf praktische Beispiele über.
Grundlagen der Power Query Formula Language
Zum Einstieg in Power Query und die „Language M“ dient als Anschauungsbeispiel eine Tabelle der Webseite www.schulferien.org.
Abbildung 1: Webseite mit Feiertagen, Quelle: www.schulferien.org
Wenn nun über die GUI eine Spalte entfernt und die verbleibenden zwei Spalten umbenannt werden, ergibt sich die Query wie in Abbildung 2:
Abbildung 2: Einfache Query für Feiertage, Quelle: eigene Darstellung
Bis dahin ist alles noch machbar, ohne eine Zeile Programmcode zu schreiben.
Abbildung 3: Aufruf des erweiterten Editor, Quelle: eigene Darstellung
Um nun die erzeugte Query im Detail zu sehen, wird der erweiterte Editor aufgerufen. Dieser liegt auf dem Reiter „Ansicht“. Dieser Editor ist zurzeit noch relativ einfach aufgebaut. Es gibt keine Syntax-Highlighting- oder Autocomplete-Features. Allerdings wird die Syntax „on-the-fly“ geprüft. Bei ermittelten Fehlern erscheint ein Hinweis mit einem Link zur entsprechenden Position im Code, siehe Abbildung 4.
Abbildung 4: Syntaxprüfung im Editor, Quelle: eigene Darstellung
Abbildung 5: Quellcode zur einfachen Abfrage, Quelle: eigene Darstellung
Abbildung 5 zeigt den generierten Quellcode für diese Query. Hier ist jeder Schritt komma-separiert durch Formeln beschrieben. In diesem Editor sollen nun eigene Abfragen erstellt werden. Dazu beschäftigt sich der nächste Beitrag dieser Reihe mit dem Einstieg in die Syntax der Sprache.