
Ich habe eine TXT-Datei mit einer Menge Daten. Ich habe sie folgendermaßen in Power Query geladen:
[ein Buchstabe (A) entspricht einer Datenzeile mit einer Spaltenbreite]
A
B
C
D
E
A
B
E
A
E
A
B
C
D
E
und so weiter...
Ich möchte es in Zeilen und Spalten organisieren, so dass es jetzt so aussieht
AAAA
BBEB
CE x C
D xx D
E xx E
Verwenden Sie den Wert „A“ als Trennzeichen, um die Trennung in eine neue Spalte zu bestimmen. Außerdem bleibt der letzte Wert immer derselbe (siehe „E“ oben), falls dies relevant ist.
Ist das möglich?
Antwort1
Konzeptionell einfach, erfordert aber die Verwendung des erweiterten Editors für den letzten Schritt
- Erstellen Sie eine Spalte, die für jede Gruppe, die mit „A“ beginnt, die gleiche Nummer hat.
- Hinzufügen einer Indexspalte
- Fügen Sie eine benutzerdefinierte Spalte (mit dem Namen
Grouper
) mit einer Formel hinzuif [Column1]="A" then [Index] else null
- Abfüllen
Grouper
- Gruppe auf Zackenbarsch
- Aggregieren Sie „Alle Zeilen“
- Fügen Sie eine weitere benutzerdefinierte Spalte hinzu, die die Werte in jeder Untertabellenspalte als Liste extrahiert1
Table.FromColumns
Verwenden Sie diese Listen, um mit der Funktion eine neue Tabelle zu erstellen
let
//Change next line to reflect actual data source
Source = Excel.CurrentWorkbook(){[Name="Table26"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
#"Added Custom" = Table.AddColumn(#"Added Index", "Grouper", each if [Column1]="A" then [Index] else null),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Index"}),
#"Filled Down" = Table.FillDown(#"Removed Columns",{"Grouper"}),
#"Grouped Rows" = Table.Group(#"Filled Down", {"Grouper"}, {{"Count", each _, type table [Column1=nullable text, Grouper=number]}}),
#"Removed Columns1" = Table.RemoveColumns(#"Grouped Rows",{"Grouper"}),
#"Added Custom1" = Table.AddColumn(#"Removed Columns1", "Columns", each [Count][Column1]),
#"Removed Columns2" = Table.RemoveColumns(#"Added Custom1",{"Count"}),
#"New Table" = Table.FromColumns(#"Removed Columns2"[Columns])
in
#"New Table"