Ich möchte auch mitspielen
16.10.2023 20:13:41
Yal
darf ich?
Ich habe die Idee von vorher implementiert: pro Datei alle Zeile Semikolon-getrennt in einer Spalte, das macht die Funktion "Datei transformieren":
let
Quelle = (Parameter1 as binary) => let
Quelle = Table.FromColumns({Lines.FromBinary(Parameter1, null, null, 1252)}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(Quelle, "Benutzerdefiniert", each 1),
#"Gruppierte Zeilen" = Table.Group(#"Hinzugefügte benutzerdefinierte Spalte", {"Benutzerdefiniert"}, {{"Zusammmengefasst", each Text.Combine([Column1], ";")}}),
#"Entfernte Spalten" = Table.RemoveColumns(#"Gruppierte Zeilen",{"Benutzerdefiniert"})
in
#"Entfernte Spalten"
in
Quelle
Ein Bischen merkwürdig ist, dass die Gruppierung erfordert, dass eine Gruppierung-Spalte vorhanden ist. Ich habe daher eine "Benutzerdefiniert" eingeführt, mit alle Zeile = 1. Und nach der Gruppierung, inkl. Text.Combine, wieder gelöscht.
Die Funktion wird in der Dateiliste gerufen, die Semikolon-getrennte Text in Spalten erweitert, transponiert und die erste Zeile als Überschrift übernommen:
let
Quelle = Folder.Files(Excel.CurrentWorkbook(){[Name="cPfad"]}[Content]{0}[Column1]),
FilterNoHidden = Table.SelectRows(Quelle, each [Attributes]?[Hidden]? > true),
FilterNurTxt = Table.SelectRows(FilterNoHidden, each [Extension] = ".txt"),
FilterNurAktDateien = Table.SelectRows(FilterNurTxt, each Date.IsInCurrentWeek([Date modified])),
FctDateiTrafo = Table.AddColumn(FilterNurAktDateien, "Datei transformieren", each #"Datei transformieren"([Content])),
#"Andere entfernte Spalten" = Table.SelectColumns(FctDateiTrafo,{"Name", "Datei transformieren"}),
#"Erweiterte Datei transformieren" = Table.ExpandTableColumn(#"Andere entfernte Spalten", "Datei transformieren", {"Zusammmengefasst"}, {"Zusammmengefasst"}),
#"Spalte nach Trennzeichen teilen" = Table.SplitColumn(#"Erweiterte Datei transformieren", "Zusammmengefasst", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv) ),
#"Transponierte Tabelle" = Table.Transpose(#"Spalte nach Trennzeichen teilen"),
#"Höher gestufte Header" = Table.PromoteHeaders(#"Transponierte Tabelle", [PromoteAllScalars=true]),
#"Geänderter Typ" = Table.TransformColumnTypes(#"Höher gestufte Header",{{"Astrocyte.txt", type text}, {"Bergmann.txt", type text}, {"CerebGranule.txt", type text}})
in
#"Geänderter Typ"
Das Quellverzeichnis habe ich in einer benannte Excel-Zelle "cPfad" reingepackt, sodass hier ein bischen Flexibilität gibt.
https://www.herber.de/bbs/user/163489.xlsx
VG
Yal