Excel Dateiname mit Power Query einlesen
#1
Guten Tag,
ich benötige eine Funktion in Power Query zur Formel aus den Excel 4 Makrofunktion =TEIL(ZELLE("filename");FINDEN("[";ZELLE("filename"))+1;(FINDEN("]";ZELLE("filename"))-1)-(FINDEN("[";ZELLE("filename"))+1))
die den Dateianamen zurück gibt.
Wie kann ich diese Formel in einer Abfrag mit M realiseren?
Bin leider in der Hilfe nicht weiter gekommen.
Danke und Grüße
Antworten Top
#2
Hi,

sorry, aber bei Deiner Beschreibung fällt mir (und nach 7h Funkstille offenbar auch allen anderen) nur eins ein: 

...sie müssen erst den Nippel durch die Lasche zieh'n...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#3
Moin,

das kommt drauf an, wie du vorgehst. Wenn du aus der Folder-Ansicht kommst, kannst du einfach die Source-Spalte beibehalten. Wenn du mit Excel.Workbook() arbeitest, hast du den Dateinamen ja im Quelltext und musst diesen nur in eine eigene Variable übernehmen. Ansonsten bleibt dir noch die Möglichkeit, den Namen in eine Zelle zu schreiben und von dort auszulesen.

Aber: Wozu das ganze?

Viele Grüße
derHöpp
Antworten Top
#4
Vielleicht meint der TO diese Fragestellung Return FileName - using Power query
Antworten Top
#5
Hallo wozu das ganze ?
Ich will einige (viele) Excel Dateien mit teilweis unteschiedlichen Strukturen in einer Excel zusammen führen, mit anderen Daten ergänzen und in einem nächsten Schritt in eine SQLite Datenbank, in diesem Fall in eine gpkg übergeben.
Um Dateien wieder zu finden deren Struktur bei der Übergabe in die SQlite Probleme machen benötge ich den Dateinamen.
Deshalb frage ich die einzelnen Dateien mit Power Query ab und ergänze die fehlenden Daten in einer Tabelle, korrigiere falsche Spaltenüberschriften usw, ohne dass die original Datei verändert wird.
Je mehr Korrekturen ich in Power Query erledigen kann, desto weniger Arbeit habe ich.

Wie bekomme ich die Daten aus dem Quelltext in eine Variable?

Danke Grüße Rolf
Antworten Top
#6
Also, da Du nur auf derHoepps Frage Wozu das ganze reagiert hast aber nicht auf meinen angesprochenen noch derHoepps Punkt, ist mir nicht klar was Dein Problem ist.
Vor allem die Frage Wie bekomme ich die Daten aus dem Quelltext in eine Variable? klingt  sehr mysteriös ...
Antworten Top
#7
(04.03.2023, 17:07)R G K schrieb: Um Dateien wieder zu finden deren Struktur bei der Übergabe in die SQlite Probleme machen benötge ich den Dateinamen.
Wenn du aus einem Ordner importierst dann hast du doch die Dateinamen.
Wir sehen uns!
... Detlef

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

Antworten Top
#8
Moin,

also nochmal zusammengefasst:
a) du liest eine Tabelle aus der aktuellen Exceldatei mit Excel.CurrentWorkbook() aus?
--> Du musst den Dateinamen in eine gesonderte Zelle schreiben und diese Zelle mit Powerquery auslesen.
b) du liest mehrere Exceldateien gleichzeitig über Folder.Contents() oder Folder.Files() aus?
--> Du kannst die Spalte "Name" beibehalten, bevor du den Content in eine Exceldatei wandelst
c) du hast für jede Datei eine eigene Abfrage, bei der du die Datei mit Excel.Workbook(File.Contents()) öffnest?
--> In dem Fall hast du den Dateinamen innerhalb von File.Contents()-stehen und kannst ihn in eine eigene Variable zwischenspeichern:
Code:
let
   Dateiname = "Test1.xlsx",
   Quelle = Excel.Workbook(File.Contents("C:\Daten\" & Dateiname)),
   'restliche Schritte
   MitDateiname = Table.AddColumn(vorhergehenderSchritt,"Dateiname", each Dateiname)
in
   MitDateiname

Du siehst, genaue Angaben helfen den Helfern beim Helfen!

Viele Grüße
derHöpp
Antworten Top
#9
...schau Dir dieses Tutorial an...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top


Gehe zu:


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