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

In einer Excel-Mappe wird pro Monat eine neue Tabelle erstellt. Die Tabellen sollen automatisch zusammengeführt und ausgewertet werden, wenn eine neue Monatstabelle hinzukommt. Mit Power Query ist das kein Problem. Ich wähle eine Methode, die das Zusammenführen der Tabellen erledigt und zwar unabhängig von ihrer Anzahl oder ihrem Namen. Was aber, wenn neue Monatstabellen mehr Spalten aufweisen? Auch hierfür bietet Power Query eine Lösung.

Alle Tabellen der Arbeitsmappe dynamisch zusammenführen

Alle Tabellen einer Mappe automatisch einlesen

Um alle Tabellen der Mappe einzulesen, gehe ich wie folgt vor:

  • Ich wähle die Befehlsfolge Daten > Daten abrufen > Aus Datei > Aus Excel-Arbeitsmappe.
  • Um flexibel zu bleiben und mich nicht auf einzelne konkrete Tabellen festzulegen, markiere ich den Dateinamen [1] und klicke auf Daten transformieren [2].

    Die Arbeitsmappe für die Transformation auswählen

  • Im Power Query-Editor filtere ich nun die Liste der angezeigten Tabellen und Arbeitsblätter so, dass nur die Tabellen ausgewählt werden. Ich klicke auf den Pfeil in der Spalte Kind [1] und wähle nur den Eintrag Table aus [2].
  • Per Rechtsklick in die Spalte Data wähle ich Andere Spalten entfernen [3].
    Nur Table-Zeilen und nur die Spalte Data zur Weiterverarbeitung auswählen
  • Anschließend kann ich die Daten per Klick auf den Doppelpfeil in der Spalte Data entpacken. Hierbei werden mir alle Spalten angezeigt, die aktuell zur Verfügung stehen.

    Alle derzeit verfügbaren Spalten entpacken

  • Dieser Schritt sorgt später allerdings für Probleme. Wie oben im M-Code zu sehen ist, werden alle derzeit verfügbaren Spalten explizit genannt. Kommt im nächsten Monat wegen einer Änderung eine neue Spalte hinzu, würde sie beim Zusammenführen nicht berücksichtigt. Daher lösche ich den Schritt Erweiterte Data wieder.

    Beim Entpacken der Spalte Data werden alle derzeit verfügbaren Spalten explizit genannt

So werden auch neu hinzukommende Spalten berücksichtigt

Kommen in einem Monatsblatt neue Spalten hinzu, sollen diese berücksichtigt werden. Das löse ich so:

  • 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 – wie unter [2] in der gelben Markierung gezeigt – erweitere.

    Table.Combine führt alle Tabellen zusammen – egal wie viele Spalten sie haben

     

Das Ergebnis kann sich sehen lassen: Kommt der Monat Januar 2023 mit einer zusätzlichen Spalte namens Umlage, wird diese automatisch beim Zusammenführen mit aufgenommen.

Das Anfügen neuer Tabellen mit abweichender Spaltenanzahl funktioniert nun ohne Datenverlust

Tipp: Bei der Arbeit im Power Query-Editor sollte die Bearbeitungsleiste immer eingeschaltet bleiben. So lassen sich rechtzeitig »hartkodierte« Dinge erkennen und frühzeitig ausmerzen.

Ausblick

Die hier beschriebene Methode zum Anfügen von Tabellen aus einer Mappe ist dynamisch in Hinblick auf die Anzahl der Tabellen und deren Spaltenanzahl. Allerdings geht dabei die Information verloren, aus welcher Tabelle die Daten stammen – hier die Spalte Name mit der Information zu Jahr und Monat.
Wie auch das einfach möglich ist, zeige ich in Teil 2 zu diesem Blogbeitrag.

Wer in Power Query Wissen aufbauen oder ausbauen möchte, findet hier passende Kurse:

 

 

 

 

Dieser Beitrag wurde unter Excel abgelegt und mit , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert