Power Query, mehrere Werte in einer Zelle verketten

Ausgangslage und Ziel:

einem Lieferanten sind eine oder mehrere Warengruppe(n) zugeordnet.
Im Falle des Vorhandenseins von mehreren Warengruppen je Lieferant sollen nicht
mehrere Zeilen ausgegeben werden.
Stattdessen sollen die Warengruppen getrennt durch ein Trennzeichen in einer Zelle
abgebildet werden.


Language M Code in neue Abfrage einfügen (erweiterter Editor):

---SCHNIPP --

let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
fCombine = Combiner.CombineTextByDelimiter(", "),
GruppierteZeilenWarengruppe = Table.Group(
  Quelle,
  {"Lieferant"},
  {{"Warengruppen", each fCombine([Warengruppe]), type text}}
)
in
    GruppierteZeilenWarengruppe

--- SCHNAPP --

weiteres Beispiel



---SCHNIPP ---

let
    Quelle = Table.NestedJoin(tbl_Lizenz,{"Rolle"},tbl_Lizenztyp,{"Rolle"},"tbl_Lizenztyp",JoinKind.LeftOuter),
    fCombine = Combiner.CombineTextByDelimiter(", "),
    #"Erweiterte tbl_Lizenztyp" = Table.ExpandTableColumn(Quelle, "tbl_Lizenztyp", {"Lizenztyp", "Rang"}, {"Lizenztyp", "Rang"}),
 
    #"Gruppierte Zeilen" = Table.Group(#"Erweiterte tbl_Lizenztyp", {"user"}, {{"hoechster_Rang", each List.Max([Rang]), type number}, {"Rollen", each fCombine([Rolle]), type text}, {"Lizenztypen", each fCombine([Lizenztyp]), type text}})
in
    #"Gruppierte Zeilen"

--- SCHNAPP ---

alternativer Ansatz

1 Gruppieren, Alle Zeilen (Ergebnis: Table Object)




2 Table Object in List Object konvertieren


3 Werte extrahieren, Trennzeichen für das Verketten von Listenwerten auswählen




alternativer Ansatz

benutzerdefinierte Spalte hinzufügen

=Table.Column([Anzahl],"Warengruppe")

Ergebnis: Listobjekt (List)


Details siehe hier

siehe auch List.Distint(), falls Dubletten entfernt werden sollen (eindeutige Elemente)

Ab Excel 2016 alternativ mit DAX Funktion CONCATENATEX lösbar
siehe DAX Funktionen

Lern Video



siehe auch 
mehrere Werte pro Zelle getrennt durch Delimiter, eindeutige Werte ermitteln



Kommentare

  1. Hallo,

    erst einmal vielen Dank für die ganzen tollen und nützlichen Tipps.

    Ich bin Power Query Neuling. Habe versucht deinen alternativen Ansatz zu übermehmen,aber ab Punkt 2 Table Object in List Object konvertieren schaut es bei mir komplett anders aus und ich kann im Nachgang auch nicht extrahieren (Button off). Vielleicht markiere ich etwas falsch.Sorry bin Laie, wäre für deine Hilfe sehr dankbar.

    Viele Grüße

    AntwortenLöschen
  2. Ersetze den Schritt
    = Table.Group(#"Geänderter Typ", {"Lieferant"}, {{"Anzahl", each _, type table}})
    durch
    = Table.Group(#"Geänderter Typ", {"Lieferant"}, {{"Anzahl", each _[Warengruppe]}})
    dann sollte es funktionieren

    AntwortenLöschen

Kommentar veröffentlichen

Beliebte Posts aus diesem Blog

Vergleich mit 2 Bedingungen, INDEX(), VERGLEICH()

Dropdown Liste mit Mehrfachauswahl

nützliche Text Funktionen in Power Query