Excel PowerQuery nimmt nicht alle Daten aus Datei
#1
Hallo zusammen!

Ich habe einen Ordner voll mit Textdateien, alle nötigen Infos sind brav mit einem ';' getrennt. Diese Dateien würde ich gerne alle zusammen in Excel einlesen und als Tabelle formatieren. Über "Daten" -> "Aus Text/CSV" funktioniert das bei einzelnen Files perfekt. Wähle ich jedoch den Weg "Daten" -> "Daten abrufen" -> "Aus Datei" -> "Aus Ordner" -> Ordner auswählen -> "Kombinieren und Laden" dann werden zwar alle Infos geladen, jedoch werden bei allen Files die Daten der ersten Spalte nicht übernommen (außer bei der Datei, welche als Vorschau geladen wurde). 

Ich habe auch schon im Query Editor nachgesehen ob die Files richtig eingelesen werden, das funktioniert beim Punkt "Andere entfernte Spalten1" noch. (Siehe Bilder unten)
Im letzten Bild habe ich die Datei "messages_20210616_095009.mes" als Vorschau geladen, deshalb sind nur bei dieser die Werte (W), (I), usw...

   
   


   


Danke im Voraus und Lg
Antworten Top
#2
Poste mal den M-Code, vollständig bitte.
Antworten Top
#3
(09.08.2021, 12:03)Fischi_VIECH schrieb: Wähle ich jedoch den Weg "Daten" -> "Daten abrufen" -> "Aus Datei" -> "Aus Ordner" -> Ordner auswählen -> "Kombinieren und Laden" dann werden zwar alle Infos geladen, jedoch werden bei allen Files die Daten der ersten Spalte nicht übernommen (außer bei der Datei, welche als Vorschau geladen wurde). 
Wenn ich mich richtig erinnere dann kann man in dem Navigations-Dialog einstellen welche Datei als Muster verwendet werden soll. Standardmäßig ist das immer die erste Datei.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#4
(09.08.2021, 13:43)Warkings schrieb: Poste mal den M-Code, vollständig bitte.

Power Querys sind neu für mich, da das automatische einfügen bis jetzt immer reichte. Deshalb bin ich mir nicht sicher was der M-Code ist. Dieser hier?

Code:
let
    Quelle = Folder.Files("C:\PST03"),
    #"Gefilterte ausgeblendete Dateien1" = Table.SelectRows(Quelle, each [Attributes]?[Hidden]? <> true),
    #"Benutzerdefinierte Funktion aufrufen1" = Table.AddColumn(#"Gefilterte ausgeblendete Dateien1", "Datei transformieren (2)", each #"Datei transformieren (2)"([Content])),
    #"Umbenannte Spalten1" = Table.RenameColumns(#"Benutzerdefinierte Funktion aufrufen1", {"Name", "Source.Name"}),
    #"Andere entfernte Spalten1" = Table.SelectColumns(#"Umbenannte Spalten1", {"Source.Name", "Datei transformieren (2)"}),
    #"Erweiterte Tabellenspalte1" = Table.ExpandTableColumn(#"Andere entfernte Spalten1", "Datei transformieren (2)", Table.ColumnNames(#"Datei transformieren (2)"(#"Beispieldatei (2)"))),
    #"Geänderter Typ" = Table.TransformColumnTypes(#"Erweiterte Tabellenspalte1",{{"Source.Name", type text}, {"AVL PUMA Open 2 R3.4 Build 2849 - Patch 6  YEPMOT03 - Message Logfile created on Friday, June 11, 2021 10:20:39, Uptime: 21d, 21:47:11", type any}, {"", type datetime}, {"_1", type text}, {"_2", type text}, {"_3", type text}})
in
    #"Geänderter Typ"

(09.08.2021, 14:07)shift-del schrieb: Wenn ich mich richtig erinnere dann kann man in dem Navigations-Dialog einstellen welche Datei als Muster verwendet werden soll. Standardmäßig ist das immer die erste Datei.

Ich habe das selbe Problem wenn ich die erste Datei beim erstellen als Vorschau lade, wenn du das meinst. Nur sind dann die Werte (W), (I), ... nur bei den Werten der ersten Datei, nicht mehr bei den restlichen.
Antworten Top
#5
Ich hatte um den vollständigen Code gebeten, es fehlt der Code für die Funktion
Code:
#"Datei transformieren (2)"
Dort wird wahrscheinlich das Problem liegen. Und es sieht auch so aus, als hättest Du den PQ AUotmatismus zum Laden und Kombiniren mehrfach versucht.

Sorry, but to be honest, versuch es einfach nochmal von vorn in einer neuen Datei. Ich habe einfach keine Lust, einem blutigen Anfänger jeden Schritt im Detail zu erklären, wenn der nicht mal in der Lage ist, eine einfache Bitte zu erfüllen.
CU

PS IMHO gibt es einen robusteren Weg, CSV Dateien zu kombinirien. Diesen "automatischen" Weg hat MS doch nur für die "faulen" unter uns eingebaut.
Antworten Top
#6
Hier ist der Code für die Funktion:

Code:
let
    Quelle = (Parameter1) => let
        Quelle = Csv.Document(Parameter1,[Delimiter=";", Columns=14, Encoding=1252, QuoteStyle=QuoteStyle.None]),
        #"Höher gestufte Header" = Table.PromoteHeaders(Quelle, [PromoteAllScalars=true])
    in
        #"Höher gestufte Header"
in
    Quelle

Ich würde mich sehr über deine/eure Hilfe freuen.
Antworten Top
#7
Zur vollständigen Dokumentation:

Ich habe das Problem jetzt selbst gelöst, indem ich den Ordner nicht "Kombinieren und Laden" sondern "Transformieren" habe. Danach habe ich einen Doppelklick auf das Zeichen mit den Pfeilen der Spalte "Content" gemacht und das Ergebnis war wie erwünscht!

Dabei hat mir der Blogbeitrag von Lars Schreiber sehr geholfen!!!
https://ssbi-blog.de/blog/business-topic...-einlesen/
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste