Beim Import aus fremden Systemen sind wichtige Informationen manchmal Teil eines Spaltentitels. Hier im Beispiel ist es der Monat, aus dem die Daten stammen. Es kann aber auch die verwendete Währung oder die Umsatzbasis sein. Wird diese Teilinformation für die spätere Auswertung gebraucht, muss sie aus dem Spaltentitel ausgelesen und als neue Spalte bereitgestellt werden. In diesem Power-Query-Rezept beschreibe ich die Schritte.
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.
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.
Kurz vor Jahresende erhielt ich den Hilferuf eines Kunden. Eine Liste mit Online-Daten sollte mit den bestehenden Kundendaten abgeglichen werden. Das Problem: in der Liste mit den Kundenstammdaten stehen die Kundennummern ordnungsgemäß einzeln untereinander, in der Online-Liste hingegen befinden sich teilweise mehrere Kundennummern in einer Zelle – durch Komma getrennt. Der Versuch, die Daten der Online-Liste mit dem Befehl Text in Spalten in einzelne Kundennummern zu trennen, bringt nicht das gewünschte Ergebnis. Mit einer Abfrage in Power Query ist das Problem in zwei Minuten gelöst.
Wie kann ich eine Liste auswerten, in der mehrere Spalten die gleiche Art von Information enthalten? Im folgenden Beispiel wurden in der oberen Liste die Daten zu jeder Firma in einer Zeile erfasst. Vor- und Nachname des Ansprechpartners sind in zwei Spalten abgelegt. So weit, so gut. Aber: Bei weiteren Ansprechpartnern stehen diese rechts daneben in zusätzlichen Spaltensets. Das Problem: Eine solche Datenstruktur lässt sich mit Pivot nicht auswerten. Und auch für den Re-Import in eine Datenbank ist sie ungeeignet. Wie bringe ich die Daten automatisiert in die in der blauen Tabelle gezeigte passende Struktur? Dazu muss ich die Inhalte aus Spalten auf Zeilen verteilen mit Hilfe von Power Query und den Befehlen Entpivotieren und Pivotieren.

Spaltensets des gleichen Typs in einer Zeile sind für eine Weiterverarbeitung ungeeignet. Jedes Set benötigt eine eigene Zeile.
Wie ich das auch für eine variable Anzahl von Spaltensets löse, zeige ich in der folgenden Anleitung. Weiterlesen
Power Query ersetzt an vielen Stellen die teils sehr aufwendige VBA-Programmierung, insbesondere wenn es um die Aufbereitung von Daten für die Analyse geht. Das ist eine große Arbeitserleichterung und Zeitersparnis. Aber da kommt auch gleich die Frage auf: VBA-Code lässt sich per Passwort schützen, aber geht das auch bei Power Query-Abfragen?

Ist der Arbeitsmappenschutz aktiv, können die Power Query-Abfragen noch aktualisiert, aber nicht mehr bearbeitet werden
In Excel 365 kann die Bearbeitung und das Löschen der Power Query-Abfragen per Arbeitsmappenschutz verhindert werden.
Welche Produkte bisher welchen Umsatz gemacht haben, ist auf Basis einer Umsatzliste mit Pivot schnell ermittelt. Doch wie lässt sich herausfinden, welche Produkte bis dato nicht verkauft wurden? Dazu gibt es keine Daten, denn die Umsatzliste enthält nur die verkauften Produkte. Hier hilft eine zusätzliche Liste weiter, in der alle Produkte erfasst sind.

Aus den zwei Listen für Umsätze und Produkte wird eine Gesamtliste generiert, die für alle Produkte die Umsatzzahlen zeigt, auch wenn diese bei null liegen
Wie ich mit Hilfe eines Joins eine komplette Liste aller Produkte mit allen Umsätzen erstelle, beschreibe ich in diesem Beitrag.