Anzeige
Archiv - Navigation
1920to1924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PowerQuery Gruppieren/Zusammenfassen

PowerQuery Gruppieren/Zusammenfassen
01.03.2023 14:32:33
Bernd
Hallo Excel-Gemeinde,
ich habe ein kleines Anliegen, was mir seit einiger Zeit Kopfzerbrechen bereitet. Es ist garantiert ganz einfach zulösen, aber irgendwie komme ich nicht drauf. Scheinbar finde ich nicht dich richtigen Suchbegriffe für Google oder ich habe einen Fehler im Ablauf. Ich habe in Spalte A doppelte Werte, die sich aber in Spalte B unterscheiden. Ich möchte Spalte B zusammenfassen, sodass ich keine doppelten Werte mehr in Spalte A habe. Da ganze möchte ich im PowerQuery realisieren.
Ist-Zustand:
Spalte A Spalte B
(Text) (Text)
1.0001 aaa
1.0002 bbb
1.0003 ccc
1.0003 ccc1
1.0003 ccc5
1.0004 ddd
1.0005 eee
Soll-Zustand (1. Schritt):
Spalte A Spalte B Spalte C Spalte D
(Text) (Text) (Text) (Text)
1.0001 aaa
1.0002 bbb
1.0003 ccc ccc1 ccc5
1.0004 ddd
1.0005 eee
Soll-Zustand (2. Schritt):
Spalte A Spalte B
(Text) (Text)
1.0001 aaa
1.0002 bbb
1.0003 ccc; ccc1; ccc5
1.0004 ddd
1.0005 eee
Vielen Dank
Bernd Fuchs

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PowerQuery Gruppieren/Zusammenfassen
01.03.2023 15:06:13
Yal
Hallo Bernd,
https://www.google.com/search?q=power+query+group+by+text+combine
man macht eine Gruppierung, sodass alle Element von Spalte A eindeutig werden. Bei der Gruppierung gibt es keine sofortige Möglichkeit eine Text.Combine einzugeben. Man nimmt eine Dummy-Funktion, wie Sum, die man anschliessend in der Bearbeitungsleiste durhc Text.Combine ersetzt.
VG
Yal
AW: PowerQuery Gruppieren/Zusammenfassen
01.03.2023 15:31:32
ChrisL
Hi
Wie Yal beschrieben hat. Ein Dummy-Gruppierung machen und die Code-Zeile anpassen. So würde die fertige Zeile aussehen:
= Table.Group(Quelle, {"Spalte A"}, {"Spalte B kombi", each Text.Combine([Spalte B],"; ") , type text}) 
cu
Chris
Anzeige
AW: PowerQuery Gruppieren/Zusammenfassen
01.03.2023 16:06:56
ChrisL
Zur Ergänzung noch ein Weg mittels Standard-Funktionalität:
- Gruppieren nach Spalte A, neue Spaltenname "alle" und als Vorgang "Alle Zeilen" wählen
- Benutzerdefinierte Spalte hinzufügen:
Spalte B kombi = [alle][Spalte B]
- Im Titel der neuen Spalte auf die Pfeile drücken, "Werte extrahieren...", Semikolon als Trennzeichen wählen
- Spalte "alle" löschen
und anschliessend "Spalten teilen"
01.03.2023 16:09:15
Yal
...haben wir beide vergessen.
Diese "Spalten teilen" liefert dir aber einen festen Anzahl an Zielspalten, abhängig von deinem aktuellen Beispiel. Danach ist es leider fest. Also muss im voraus immer die maximale Anzahl an mögliche Spalten eingegeben werden.
In folgendem kommen 2 Spalten heraus:
Table.TransformColumnTypes(#"vorige Schritt",{{"Anzahl.1", type text}, {"Anzahl.2", type text}})
Du kannst in voraussicht zusätzlichen Spalten per Hand eintragen (hier eine dritte):
Table.TransformColumnTypes(#"vorige Schritt",{{"Anzahl.1", type text}, {"Anzahl.2", type text}, {"Anzahl.3", type text}})
usw.
VG
Yal
Anzeige
AW: und anschliessend "Spalten teilen"
01.03.2023 16:30:34
ChrisL
Ich hatte den Schritt 1 nur als Weg für Schritt 2 verstanden, daher gekonnt ignoriert :)
Hier noch ein Ansatz für Schritt 1:
- Gruppieren "alle"
- Benutzerdefinierte Spalte hinzufügen (der Tabelle "alle" einen Index hinzufügen)
= Table.AddIndexColumn([alle],"Index",1)
- Erweitern und Spalte "alle" löschen
- Pivotieren, wobei der Index als Spaltentitel dient
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    #"Gruppierte Zeilen" = Table.Group(Quelle, {"Spalte A"}, {{"alle", each _, type table [Spalte A=number, Spalte B=text]}}),
    #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Gruppierte Zeilen", "alle mit Index", each Table.AddIndexColumn([alle],"Index",1)),
    #"Erweiterte alle mit Index" = Table.ExpandTableColumn(#"Hinzugefügte benutzerdefinierte Spalte", "alle mit Index", {"Spalte B", "Index"}, {"alle mit Index.Spalte B", "alle mit Index.Index"}),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Erweiterte alle mit Index",{"alle"}),
    #"Pivotierte Spalte" = Table.Pivot(Table.TransformColumnTypes(#"Entfernte Spalten", {{"alle mit Index.Index", type text}}, "de-de"), List.Distinct(Table.TransformColumnTypes(#"Entfernte Spalten", {{"alle mit Index.Index", type text}}, "de-CH")[#"alle mit Index.Index"]), "alle mit Index.Index", "alle mit Index.Spalte B")
in
    #"Pivotierte Spalte"

Anzeige
AW: PowerQuery Gruppieren/Zusammenfassen
01.03.2023 16:29:18
Luschi
Hallo PQ-M-Fan's,
sollten in 'Spalte B' neben Text auch Zahlen vorkommen, dann sieht die Gruppierung so aus:
= Table.Group(Quelle, {"Spalte A"}, {"Spalte B kombi",
               each Text.Combine(List.Transform([Spalte_B], Text.From), ",") , type text})
Gruß von Luschi
aus klein-Paris
AW: PowerQuery Gruppieren/Zusammenfassen
04.03.2023 23:22:59
Bernd
Vielen Dank euch allen.
Über die richtigen Google-Begriffe von YAL habe ich Hilfe gefunden und zwar so wie Chris beschrieben hat.
Einfach die Codezeile anpassen. Den Schritt 1 und 2 hatte ich nur angeben, weil ich dachte der Umfang ist komplizierter.
Schönen Abend
Bernd
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige