Einerseits will man für jemanden eine Freude machen und einen Käsekuchen backen, anderseits ifft der sowiefo viel su ungefund.

Eine schöne Frage in der letzten PowerQuery-Schulung.

Eine Tabelle soll verändert werden. Im linken Bereich befinden sich Informationen (nennen wir sie „Metadaten“), im rechten Bereich in mehreren Spalten weitere Informationen zu diesen Metadaten.

Jede dieser Gruppen, bestehend aus jeweils drei Spalten, soll neben die anderen Daten geschrieben werden, so dass die Metainformation so oft auftaucht, wie Gruppen vorhanden sind. Dabei können beliebig vieler dieser Gruppen auftauchen.

Das Ziel:

Mein erster Gedanke:

Ich fasse mit dem Befehl „Spalten zusammenführen“ jeweils die einzelnen Spalten einer Gruppe zusammen:

Anschließend kann man diese Spalten entpivotieren

und danach am Trennzeichen (hier: „|“) teilen.

Aber: das Verfahren ist umständlich, weil (hier:) bei 17 Gruppen 17 Mal entpivotiert werden muss. Da die Anzahl der Gruppen variabel ist, ging ich auf die Suche, ob man das mit geschickten M-Befehlen (einer Schleife!) abkürzen und dynamisch halten kann.

Da fiel mit der Artikel von Hildegard Hügemann in die Finger:

https://www.office-kompetenz.de/inhalte-aus-spalten-auf-zeilen-verteilen-mit-power-query/

Und genau DAS ist die Lösung:

Zuerst muss man den „rechten“ Teil entpivotieren:

Anschließend werden die Überschriften benötigt in der Form A – B – C. Leider stehen sie hier als A1 – B1 – C1 – A2 – B2 – C2 – A3 – … Die Zahlen müssen entfernt werden. Man kann sie mit dem Assistenten „Spalte teilen“ und er Option „Nach Wechsel von Nicht-Ziffer zu Ziffer“ herauslösen:

DIESE (spätere Überschriftsspalte) wird nun pivotiert, wobei die Werte (letzte Spalte) natürlich nicht aggregiert werden (verbirgt sich in den „Erweiterten Optionen“):

Der Rest ist „Kosmetik“: Datentypen festlegen, Spalten löschen, leere Spalten entfernen (wegfiltern), Spalten umbenennen, …

Klasse!

Ein großes Dankeschön an Hildegard Hügemann für die Lösung – hier habe ich glatt „in die falsche Richtung gedacht“.

One comment

  • Petra Rexilius

    Hallo Herr Martin, da ich die Frage gestellt habe hier gerne auch mein Feedback:
    Tolle Lösung – gute Erklärung – leicht nachvollziehbar – eigentlich so einfach und doch muss man erst mal darauf kommen.
    Das hat mit meinen Daten prima funktioniert und bringt mich in meinem Projekt wieder ein Stück weiter!
    VIELEN DANK!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.