Office-Blog

Power Query: Anfügen neuer Tabellen mit abweichender Spaltenanzahl ohne Datenverlust | Teil 2

08.02.2023   Hildegard Hügemann

In Teil 1 habe ich gezeigt, wie mit einer einzigen Power Query-Abfrage stets alle Tabellen einer Arbeitsmappe automatisch angefügt werden, auch wenn im Laufe der Zeit zusätzliche Spalten hinzukommen. Dabei habe ich die M-Funktion Table.Combine eingesetzt.
Der Nachteil dieser Lösung: Table.Combine kann als Parameter nur eine Liste – sprich EINE Spalte – verarbeiten.
Was aber, wenn zusätzlich zu den Daten noch der Name der Tabelle benötigt wird, um beispielsweise den Monat zu hinterlegen, aus dem die Daten stammen? Auch das ist mit einem kleinen Eingriff in den M-Code möglich. Hier sind die Schritte.

Relevante Spaltennamen in einem Schritt ermitteln und beim Entpacken nutzen

Wie schon in Teil 1 gezeigt, wähle ich die gesamte Arbeitsmappe für die Transformation aus, filtere dann nach den Tables und behalte nur die Spalten, die ich benötige.
Diesmal ist das nicht nur die Spalte Data, sondern auch die Spalte Name, aus der ich später die Information zum Monat entnehme.

Nicht nur die Spalte Data, sondern auch die Spalte Name behalten

Um die Spalte Name zu behalten, könnte ich auf die altbewährte Methode zurückgreifen und die Spalte Data über den Doppelpfeil entpacken. Doch wie schon in Teil 1 beschrieben, werden dabei nur die gerade verfügbaren Spalten zum Entpacken berücksichtigt. Dieses Manko umgehe ich, indem ich einen Schritt voranstelle, der alle relevanten Spaltennamen ermittelt. Diesen Schrittnamen gebe ich später beim Entpacken mit. Ich gehe wie folgt vor:

  • Ich klicke auf das fx neben der Bearbeitungsleiste [1] und erzeuge so einen neuen benutzerdefinierten Schritt, der sich auf den vorherigen namens Andere entfernte Spalten bezieht.
  • Auf die Spalte Data des Schrittes wende ich die Funktion Table.Combine an, indem ich den M-Code erweitere – wie unter [2] in der gelben Markierung gezeigt.
  • Anschließend schließe ich den gesamten Ausdruck in die Funktion Table.ColumnNames ein – wie unter [3] in der blauen Markierung gezeigt.
  • Diesen Schritt benenne ich um in Spaltennamen [4].
    Zur Erläuterung: Auf diese Weise füge ich alle vorhandenen Tabellen zusammen und ermittle die Spaltenüberschriften dieser neuen Tabelle. Diese liegen dann im Schritt namens Spaltennamen in einer Liste vor, die ich später verwende.

    In einem benutzerdefinierten Schritt alle Spaltenüberschriften in einer Liste hinterlegen

  • Nach dieser kleinen Umleitung kehre ich wieder auf die Hauptstraße zurück, indem ich auf fx klicke und dort nach der Eingabe von = # den Schritt #“Andere entfernte Spalten“ auswähle.

    Mit einem benutzerdefinierten Schritt zu einem bestimmten Abfrageschritt zurückkehren

  • Anschließend kann ich – wie in Teil 1 gezeigt – die Daten über den Doppelpfeil in der Spalte Data entpacken. Hierbei werden im M-Code alle Spalten aufgelistet, die aktuell zur Verfügung stehen. Dieses Problem behebe ich, indem ich im M-Code die festen Bezeichnungen durch den Schrittnamen Spaltennamen ersetze.

    Feste Spalteninformationen durch Schrittnamen ersetzen

Monatsinformation aus dem Namen der Tabelle extrahieren

Um nun noch den Namen der Tabelle als Monatsinformation verwenden zu können, gehe ich so vor:

  • Ich markiere die Spalte Name [1], wähle im Register Transformieren [2] die Befehlsfolge Extrahieren [3] > Letzte Zeichen [4] und stelle 7 ein.

    Monatsinformation aus dem Tabellennamen extrahieren

  • Abschließend benenne ich noch die Spalte Name per Doppelklick um in Monat.

Auch hier kann sich das Ergebnis sehen lassen: Alle Tabellennamen und alle Spaltennamen sind beim Anfügen der Daten erhalten geblieben.

Alle Tabellennamen und alle Spaltennamen bleiben beim Anfügen der Daten erhalten

TIPP: Wer hier im Blog ALLE Rezepte zu Power Query finden möchte, gibt einfach oben rechts in das Suchfeld Power-Query-Rezept ein.

Über den Autor

Hildegard Hügemann

- Dipl.-Informatikerin
- Zertifizierte Office-Trainerin mit den Schwerpunkten Excel, Access, Word
- Entwicklerin von Excel-Tools zur Projekt-, Produktions- und Verkaufssteuerung
- Coach bei der Datenaufbereitung mit Access, Power Query und Power Pivot
- Entwicklerin von Access-Datenbanken für Mittelständler und Behörden
- Bloggerin zu Excel und Access auf www.huegemann-informatik.de
- Autorin für Microsoft Press, dpunkt.verlag und das »Projekt Magazin«