31.07.2024, 12:09
Hi Warkings,
du wolltest doch das Original sehen .
Das Problem mit dem Löschen der überflüssigen Zeilen und Spalten ist doch keines, das bekomme ich alleine hin - wie du siehst, wenn du einen Blick in die pbix wirfst.
Ach so, kann natürlich sein, dass du kein PowerBI hast, deshalb habe ich jetzt den PQ-Code noch in eine Excel rüber kopiert.
Und hier die Abfrage, die auf deiner Idee beruht, nochmals als Code.
Der andere Code zum direkten (fehlerhaften) Einlesen der CSV ist bis auf die ersten zwei Zeilen identisch. daher hier nur die ersten Zeilen:
du wolltest doch das Original sehen .
Das Problem mit dem Löschen der überflüssigen Zeilen und Spalten ist doch keines, das bekomme ich alleine hin - wie du siehst, wenn du einen Blick in die pbix wirfst.
Ach so, kann natürlich sein, dass du kein PowerBI hast, deshalb habe ich jetzt den PQ-Code noch in eine Excel rüber kopiert.
Und hier die Abfrage, die auf deiner Idee beruht, nochmals als Code.
Code:
let
Quelle = Table.FromColumns({Lines.FromBinary(File.Contents(RootPath & SubPath & "ZMM_PR_REL.txt"), null, null, 1252)}),
#"Spalte nach Trennzeichen teilen" = Table.SplitColumn(Quelle, "Column1", Splitter.SplitTextByDelimiter("#(tab)", QuoteStyle.None),100),
#"Entfernte oberste Zeilen" = Table.Skip(#"Spalte nach Trennzeichen teilen",4),
#"Liste gespeicherte Header" = Table.Transpose(Table.FromList(List.RemoveItems(Record.ToList(Table.First(#"Entfernte oberste Zeilen")),{"", null}))),
#"Höher gestufte Header" = Table.PromoteHeaders(#"Entfernte oberste Zeilen", [PromoteAllScalars=true]),
#"Liste leere Spalten" = List.Select(Table.ColumnNames(#"Höher gestufte Header"), each Text.StartsWith(_, "_") or Text.StartsWith(_, "Column") or _ = ""),
#"Entfernte Spalten" = Table.RemoveColumns( #"Höher gestufte Header" ,#"Liste leere Spalten"),
#"Tiefer gestufte Header" = Table.DemoteHeaders(#"Entfernte Spalten"),
#"Gespeicherte Header einfügen" = Table.Combine({#"Liste gespeicherte Header", #"Tiefer gestufte Header"}),
#"Höher gestufte Header1" = Table.PromoteHeaders(#"Gespeicherte Header einfügen", [PromoteAllScalars=true]),
#"Entfernte oberste Zeilen1" = Table.Skip(#"Höher gestufte Header1",1),
#"Spaltennamen trimmen" = Table.TransformColumnNames(#"Entfernte oberste Zeilen1", Text.Trim),
#"Gefilterte Zeilen1" = Table.SelectRows(#"Spaltennamen trimmen", each [Banf] <> null and [Banf] <> ""),
#"Ersetzter Wert" = Table.ReplaceValue(#"Gefilterte Zeilen1","00.00.0000","",Replacer.ReplaceText,{"Banf", "Pos.", "AnfDatum", "Angel.von", "BArt", "Frg", "Material", "Kurztext", "Anforderungsmenge", "ME", "Bewertpreis", "Währg", "pro", "ME_1", "Gesamtwert bei Freigabe", "Währg_2", "Lfd", "K", "Genehmigende Kostenstelle", "Kostenst.", "Auftrag", "Sachkonto", "Infosatz", "Werk", "LOrt", "BedarfsNr.", "Warengruppe", "EKG", "Wunschlief", "Fst.Lief", "EkOr", "Bestellung", "Pos._3", "BestDatum", "Lieferdatum", "Erl"}),
#"Geänderter Typ" = Table.TransformColumnTypes(#"Ersetzter Wert",{{"Banf", type text}, {"Pos.", type text}, {"AnfDatum", type date}, {"Angel.von", type text}, {"BArt", type text}, {"Frg", type text}, {"Material", type text}, {"Kurztext", type text}, {"Anforderungsmenge", type number}, {"ME", type text}, {"Bewertpreis", type number}, {"Währg", type text}, {"pro", Int64.Type}, {"ME_1", type text}, {"Gesamtwert bei Freigabe", type number}, {"Währg_2", type text}, {"Lfd", type text}, {"K", type text}, {"Genehmigende Kostenstelle", type text}, {"Kostenst.", type text}, {"Auftrag", type text}, {"Sachkonto", type text}, {"Infosatz", type text}, {"Werk", type text}, {"LOrt", type text}, {"BedarfsNr.", type text}, {"Warengruppe", type text}, {"EKG", type text}, {"Wunschlief", type text}, {"Fst.Lief", type text}, {"EkOr", type text}, {"Bestellung", type text}, {"Pos._3", type text}, {"BestDatum", type date}, {"Lieferdatum", type date}, {"Erl", type text}})
in
#"Geänderter Typ"
Code:
let
Quelle = Csv.Document(File.Contents(RootPath & SubPath & "ZMM_PR_REL.txt"),[Delimiter="#(tab)", Columns=54, Encoding=1252, QuoteStyle=QuoteStyle.None]),
#"Entfernte oberste Zeilen" = Table.Skip(Quelle,4),
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365
Helmut
Win10 - Office365 / MacOS - Office365