Das erlebe ich oft: Listen sind gefühlt einen Meter breit und schrecken mit einer Vielzahl kryptischer Spaltenüberschriften ab. Wie bekomme ich diese in eine verständliche Sprache? Muss ich etwa jede Spalte einzeln manuell umbenennen? Die Antwort lautet NEIN.
Denn schneller geht das Umbenennen mit Hilfe einer Matchingtabelle in Kombination mit der M-Funktion Table.RenameColumns.
Die Matchingtabelle enthält lediglich zwei Spalten: OldHeader und NewHeader. Sie steuert, WELCHE Spalten WIE umbenannt werden sollen.
Das Ergebnis: Weniger Schritte, bessere Verständlichkeit und eine Lösung, die leicht zu warten ist. Wie das funktioniert, zeige ich in diesem Beitrag.

Kryptische Spaltenüberschriften werden mit Hilfe einer Matchingtabelle in verständliche Spaltenüberschriften umbenannt
Zum besseren Verständnis zeige ich zuerst, welchen M-Code Power Query produziert, wenn ich Spalten manuell umbenenne.
So gehe ich vor:
Das Umbenennen vieler Spalten auf diese Art wäre ziemlich mühsam. Vertippe ich mich, muss ich den Umbenennungsschritt wiederholen oder die richtige Bezeichnung im M-Code in der Bearbeitungsleiste austauschen. Das wäre nicht nur mühsam, sondern auch fehleranfällig. Daher braucht es eine Lösung, die a) flexibler ist und b) transparent zeigt, WELCHE Spaltenüberschriften WIE umbenannt wurden.
Statt jede Spalte einzeln umzubenennen, ordne ich die alten und die gewünschten neuen Spaltenüberschriften in einer Tabelle an. Die benenne ich Matchingtabelle (natürlich sind auch andere Namen möglich).
Wichtig dabei: Die Tabelle muss aus zwei Spalten mit den Namen OldHeader und NewHeader bestehen.
So gehe ich vor:

Table.ToRows erstellt aus der Matchingtabelle eine Liste von geschachtelten Listen, so wie die Funktion Table.RenameColumns es benötigt
Enthält die Matchingtabelle Spaltennamen, die beim nächsten Update nicht dabei sind, führt dies zu folgendem Fehler.

Enthält die Matchingtabelle überflüssige Spaltenüberschriften, die in der Datenquelle nicht vorhanden sind, so führt dies zu einem Fehler.
Ein solchen Fehler kann ich wie folgt vermeiden:

Das dritte Argument mit dem Wert MissingField.Ignore sorgt dafür, dass überflüssige Einträge in der Matchingtabelle ignoriert werden und nicht zu einem Fehler führen.
Das hier beschriebene Vorgehen zum Umbenennen von Spaltenüberschriften bringt mehrere praktische Vorteile:
Mit Table.RenameColumns und einer Matchingtabelle können Spaltennamen dynamisch, zentral gesteuert und in nur einem Schritt umbenannt werden – eine saubere Lösung für wiederverwendbare Power-Query-Abfragen.
Wer sein Wissen zu Power Query systematisch auf- und ausbauen will, kann dazu einen meiner Online-Kurse nutzen. Auf dieser Seite ist das aktuelle Angebot zu finden.
Über den Autor