Registriert seit: 12.07.2021
Version(en): 365
Das geht auch mit mehreren Trennzeichen in einem: Code: let // Source = Csv.Document(File.Contents("D:\Downloads\Eins.txt"),[Delimiter=" ", Columns=2, Encoding=1252, QuoteStyle=QuoteStyle.None]), Source = Csv.Document(File.Contents("D:\Downloads\Eins.txt"),null,"@Hier keine Trennung@",ExtraValues.Ignore,1252), Split_Col_by_Delimiter = Table.SplitColumn(Source, "Column1", Splitter.SplitTextByAnyDelimiter({";", " "}, QuoteStyle.Csv), {"C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10"})
in Split_Col_by_Delimiter
Referenz: https://community.powerbi.com/t5/Desktop...992#M99100
Registriert seit: 02.08.2014
Version(en): 2016
Hallo, 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. Grüße, Ulrich
|