Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Query mit ändernden Dateinamen
#1
Hallo zusammen,

ich habe dienstlich einen Report erstellt, der auf Daten einer Excel-Datei eines Kollegen zugreift. Bei dieser Datei ändert sich allerdings nach dem Speichern der Dateiname (Datum der letzten Bearbeitung wird hinzugefügt).

Blöderweise kappt es mir dadurch die Verbindung zu meiner Datei, sodass sich die Daten nicht aktualisieren.

Gibt es einen Weg, mit dem ich das umgehen kann? Ich denke daran, dass bspw. der Dateipfad nur einen bestimmten Teil des Dateinamens abgreift. Jegliche andere Lösung ist selbstverständlich auch willkommen.


Vielen Dank für die Unterstützung!
Antworten Top
#2
Hallo

Ganz kurz und schmerzlos, da gibt es einen Weg.
Richtige Einstellung de M-Code (Auf neueste) dann müsste es klappen.
Viele Grüße
PIVPQ
Antworten Top
#3
(24.06.2022, 12:44)PIVPQ schrieb: Richtige Einstellung de M-Code (Auf neueste) dann müsste es klappen.

Hi,

kannst du das etwas ausführen? Ich weiß so leider nicht, was zu tun ist..
Antworten Top
#4
Zitat: Ich denke daran, dass bspw. der Dateipfad nur einen bestimmten Teil des Dateinamens abgreift....


Damit ist Dir ja nicht geholfen, denn vermutlich unterscheidet sich der Dateiname lediglich durch das Datum (am Ende?) der Datei. Somit müsstest Du zunächst via VBA den Ordner durchlaufen und die Datei mit dem letzten Datum identifizieren und das Datum als Parameter verwenden. Erst dann kannst Du die Daten DIESER Datei mit PQ aktualisieren.

Alternativ könntest Du aber auch alle Datei(-namen) im Ordner einlesen, nach dem Maxwert  in der Spalte Date modified filtern. Aus der so ermittelten Datei kannst Du dann die Daten einlesen. Das ginge dann auch ohne VBA.

M-Code:
Code:
let
    Quelle = Folder.Files("C:\DeinPfad"),
    #"Gefilterte Zeilen" = Table.SelectRows(Quelle, let latest = List.Max(Quelle[Date modified]) in each [Date modified] = latest)
in
    #"Gefilterte Zeilen"
In der Spalte Content auf das Symbol mit 2 Pfeilen klicken(rechte Seite), Tabelle(n) auswählen, ok klicken. Der Rest ist ein Kinderspiel...:)
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
#5
Zitat:Somit müsstest Du zunächst via VBA den Ordner durchlaufen und die Datei mit dem letzten Datum identifizieren und das Datum als Parameter verwenden. Erst dann kannst Du die Daten DIESER Datei mit PQ aktualisieren.

Woher hast du denn diese falsche Information ?
Antworten Top
#6
Hättest Du den Post bis zum Ende gelesen, wäre Dir aufgefallen, dass das ist keine falsche Information sondern eine der möglichen Optionen ist, denn wie es anders geht habe ich am Ende erläutert.
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
#7
Hallo

Wie Ralf A es gezeigt hat so hätte ich es auch angedacht zu machen.
Gestern konnte ich nicht mehr Antworten, hatte Internet Probleme durch Gewitter.
Viele Grüße
PIVPQ
Antworten Top
#8
[quote pid="252363" dateline="1656086547"]
Code:
let
    Quelle = Folder.Files("C:\DeinPfad"),
    #"GEFILTERTE ZEILEN" = Table.SelectRows(Quelle, let latest = List.Max(Quelle[Date modified]) in each [Date modified] = latest)
in
    #"GEFILTERTE ZEILEN"

[/quote]

Hallo Ralf,

richtig, lediglich das Datum ändert sich. Allerdings ist es auch die einzige Datei mit diesem Namen. Vorherige Versionen werden in einem separaten Archiv-Ordner abgelegt.

Nichtsdestotrotz geht dadurch die Verbindung zu meiner Datei kaputt.

Wie oben schon anklingt, kenne ich mich M-Code nicht aus. Kannst du mir ein Beispiel geben, in welcher Schreibweise ich bei "gefilterte Zeilen" meine Werte ergänze?


Vielen Dank!
Antworten Top
#9
...wenn es garantiert die einzige Datei ist, dann erübrigt sich ja das Filtern... 

Menü Daten --> Daten abrufen --> Aus Datei --> Aus Ordner

Ordner auswählen --> Ordner öffnen -->Daten transformieren --> in Spalte Content auf das rechte Symbol klicken --> Tabelle auswählen --> OK

Um den M-Code musst Du Dich kaum kümmern. Zumindest solange Du keine Extrawünsche hast...
Extrawunsch wäre z. Bsp. wenn die Tabellennamen von Datei zu Datei unterschiedlich wären, was ich aber für unwahrscheinlich halte.
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
#10
(27.06.2022, 11:12)Ralf A schrieb: ...wenn es garantiert die einzige Datei ist, dann erübrigt sich ja das Filtern... 

Da habe ich mich wohl missverständlich ausgedrückt.

Die Datei ist bei weitem nicht die einzige Datei in dem Ordner. Sie ist lediglich die einzige Datei, mit dem Titel, der bis auf die Datumsangabe identisch ist.

Es liegt also dort nur "Beispieldatei_27062022" ab. "Beispieldatei_26062022" und alle vorherigen Versionen liegen in einem separaten Archivordner. Wenn ich aber heute die Dateien verbinde, bekomme ich nicht die Einträge der morgigen "Beispieldatei_28062022". Das möchte ich gern automatisieren, ohne dass ich jedes Mal die Verbindung erneut herstellen muss.
Antworten Top


Gehe zu:


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