Wie der Inhalt einer Spaltenüberschrift ausgelesen und als neue Spalte bereitgestellt wird, habe ich in meinem Power-Query-Rezept vom 8.3.2023 beschrieben.
Was aber, wenn Inhalte nicht in der Liste selbst sind, sondern als sogenannte Kopfdaten zu Beginn der CSV-Dateien vorliegen? Die folgende Abbildung zeigt dafür ein Beispiel: Lieferant, Warengruppe und Datum stehen hier oberhalb der Datenliste. Doch genau diese drei Angaben werden als weitere Spalten gebraucht, um die Daten später nach Lieferant, Warengruppe oder Datum auswerten zu können.
Wie Lieferantenname, Warengruppe und Lieferdatum aus den Kopfdaten in Spalten überführt werden, zeige ich im folgenden Power-Query-Rezept, bei dem ich u.a. den Befehl »Benutzerdefinierte Spalte« verwende.
Ziel ist es, dass aus den in Bild 1 gezeigten Kopfdaten die in der folgenden Abbildung gezeigten drei neuen Spalten Lieferant, Warengruppe und Lieferdatum entstehen, und zwar automatisch.
Bild 2: Vorschau auf das fertige Ergebnis: Die Daten aus allen Dateien sind zusammengeführt inklusive der drei Kopfdaten in jeweils eigener Spalte
Zunächst rufe ich wie folgt alle Dateien aus dem Ordner mit Power Query ab:
Hinweis: Wie alle Dateien aus einem Ordner nicht manuell, sondern automatisiert und fehlerfrei importiert werden, habe ich im Beitrag vom 3.5.2023 »Dateien aus Ordner importieren und anfügen, aber OHNE Fehler« gezeigt.
Das Ergebnis sieht noch nicht zufriedenstellend aus. Zwar sind alle Daten in der Abfrage Lieferungen aneinandergefügt, allerdings mit den kompletten Kopfzeilen.
Demzufolge muss ich dafür sorgen, dass die Listendaten untereinander stehen mit den Angaben aus den Kopfdaten als neue Spalten.
Dies erledige ich in der Abfrage Beispieldatei transformieren, denn sie dient als Muster für alle zu verarbeitenden Dateien.
Bevor ich die Musterdatei Beispieldatei transformieren bearbeite, schaue ich mir an, an welcher Stelle die relevanten Informationen aus den Kopfdaten zu finden sind:
Um die Listendaten verarbeiten zu können, muss ich die Kopfdaten entfernen. So geht’s:
Im Ergebnis dessen sind in der Liste nur noch die Spalten ArtNr, Stückpreis und Menge verfügbar. Die Angaben aus den Kopfdaten fehlen noch.
Jetzt werden die drei Angaben aus den Kopfdaten als jeweils eigene Spalten benötigt.
Dazu greife ich auf den Schritt Quelle zurück. Im ihm finde ich die Kopfdaten in Spalte Column2 in den Zeilen 1, 2, und 3.
Da Power Query die Zeilenzählung bei 0 beginnt, muss ich alle Zeilennummern um 1 reduzieren. So gehe ich vor:
Bild 9: Der Lieferantenname wurde mit Hilfe einer benutzerdefinierte Spalte als Spalteninformation bereitgestellt
Bild 10: Warengruppe und Lieferdatum werden auf die gleiche Weise ausgelesen und nur die Zeilennummer ändert sich
Ich kontrolliere die Abfrage Lieferungen. Hier sind alle Lieferdaten samt relevanter Kopfdaten aus dem Ordner ordnungsgemäß aneinandergefügt worden (siehe ganz oben Bild 2).
Nun fehlen nur noch die Datentypanpassung und das Laden der Abfrage nach Excel. Das erledige ich gebündelt, indem ich
TIPP: Wer hier im Blog ALLE Rezepte zu Power Query finden möchte, gibt einfach oben rechts in das Suchfeld Power-Query-Rezept ein.
Wie nur bestimmte Dateien aus mehreren Ordnern eingelesen werden, erkläre ich in diesem Beitrag vom 10. August 2023 Power Query: Aus mehreren Ordnern nur ausgewählte Dateien zusammenführen.
Gelegenheit dazu gibt es in meinem Online-Kurs Daten automatisiert importieren, bereinigen und transformieren
Über den Autor