Brettspiel für eine Person? – Bügeln!
PowerQuery-Schulung. Frage eines Teilnehmers:
Von einer Liste sollen gleiche Werte gruppiert und deren Elemente durch Komma getrennt in einer Zelle zusammengefasst werden. Also, aus
A | 1 |
B | 2 |
B | 3 |
C | 4 |
Soll werden:
A | 1 |
B | 2, 3 |
C | 4 |
Ich habe eine Weile überlegen müssen. Und hier die Lösung:
Schritt 1: Die Tabelle wird importiert. Die erste Spalte wird sortiert, damit die Elemente untereinander stehen. Diese Tabelle wird dupliziert:
Die zweite Tabelle wird gruppiert, so dass die Anzahl der Elemente ermittelt werden kann:
Diese beiden Tabellen werden mit einander verknüpft (Home / Kombinieren / Abfragen zusammenführen / Abfrage als neue Abfrage zusammenführen):
Die Tabelle wird „aufgeklappt“.
Eine Indexspalte, die mit 0 beginnt, wird eingefügt.
Die Funktion List.Range gruppiert die Werte:
List.Range(#“Added Index“[Artikelname],[Index],[#“Artikel (2).Anzahl“])
Zur Erklärung:
- #“Added Index“[Artikelname] ist die Spalte aus der die Daten gruppiert werden.
- [Index] – ab dieser Position wird gruppiert
- ],[#“Artikel (2).Anzahl“] – so viele Elemente werden gruppiert
Steht ein Wert beispielsweise drei Mal in der Liste, können die letzten zwei Werte gelöscht werden. Dies erreicht man mit dem Befehl „Duplikate entfernen“, den Sie in Home / Zeilen verringern / Zeilen entfernen finden.
Das Ergebnis sieht dann wir folgt aus:
Knifflige Aufgabe …