ich bin noch nicht so bewandert in M-Code und kannte die Splitter.SplitTextByAnyDelimiter - Funktion noch nicht. Hat mich interessiert und nebenbei habe ich deinen Code ein wenig umgestellt, sodass keine Hilfs-Abfragen mehr benötigt werden und alles in einem Code geschehen kann:
Code:
let
CSV_FILE_COLUMN_NAME = "csv File",
fct_csvInput_NoSep = (Parameter1, csv_column_name) =>
let
source = Csv.Document(Parameter1, null, "@Hier keine Trennung@", ExtraValues.Ignore, 65001), // utf-8 encoding
renameColumn = Table.RenameColumns(source, {Table.ColumnNames(source){0}, csv_column_name})
in
renameColumn,
Quelle = Folder.Files("c:\00_PQ_Test\00_Files\"),
#"Gefilterte ausgeblendete Dateien1" = Table.SelectRows(Quelle, each [Attributes]?[Hidden]? <> true),
lese_CSV_Dateien = Table.AddColumn(#"Gefilterte ausgeblendete Dateien1", "Datei transformieren", each fct_csvInput_NoSep([Content], CSV_FILE_COLUMN_NAME)),
#"Umbenannte Spalten1" = Table.RenameColumns(lese_CSV_Dateien, {"Name", "Source.Name"}),
relevante_Spalten = Table.SelectColumns(#"Umbenannte Spalten1", {"Source.Name", "Datei transformieren"}),
CSV_Inhalt_in_Spalten = Table.ExpandTableColumn(relevante_Spalten, "Datei transformieren", {CSV_FILE_COLUMN_NAME}),
getrennte_Spalten = Table.SplitColumn(CSV_Inhalt_in_Spalten, CSV_FILE_COLUMN_NAME, Splitter.SplitTextByAnyDelimiter({";", "#(tab)"}, QuoteStyle.Csv), {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14"}),
#"Umbenannte Spalten" = Table.RenameColumns(getrennte_Spalten,{{"Column2", "Zeitstempel"}}),
#"Tagesbeginn eingefügt" = Table.AddColumn(#"Umbenannte Spalten", "Tagesbeginn", each Date.StartOfDay(DateTime.From([Zeitstempel])), type datetime),
#"Geänderter Typ" = Table.TransformColumnTypes(#"Tagesbeginn eingefügt",{{"Tagesbeginn", type date}}),
#"Neu angeordnete Spalten" = Table.ReorderColumns(#"Geänderter Typ",{"Source.Name", "Column1", "Tagesbeginn", "Zeitstempel", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14"}),
#"Beginn der Stunde eingefügt" = Table.AddColumn(#"Neu angeordnete Spalten", "Beginn der Stunde", each Time.StartOfHour(DateTime.From([Zeitstempel])), type datetime),
#"Neu angeordnete Spalten1" = Table.ReorderColumns(#"Beginn der Stunde eingefügt",{"Source.Name", "Column1", "Tagesbeginn", "Beginn der Stunde", "Zeitstempel", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14"}),
#"Gefilterte Zeilen" = Table.SelectRows(#"Neu angeordnete Spalten1", each ([Column1] <> "" and [Column1] <> " "))
in
#"Gefilterte Zeilen"
Also im Prinzip überhaupt nichts neues, vielleicht interessiert es dich ja trotzdem.