Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1884to1888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PQ: dynamischer Ordnerpfad

PQ: dynamischer Ordnerpfad
17.06.2022 17:51:53
Chris94
Hallo zusammen,
ich versuche seit über 2 Stunden eine simple Anleitung für einen dynamischen Pfad in PQ umzusetzen.
An sich klappt alles soweit gut, nur am Ende hakt es.
Im ersten Schritt habe ich ein Drilldown mit dem Resultat des OrdnerNamen, den ich gerne auslesen will (neuster Unterordner unter Pfad XY).

let
Quelle = Folder.Files("BLABLABLA/PO Cut Off"),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(Quelle, "Benutzerdefiniert", each Text.Start(Text.Range([Folder Path],Text.Length([Folder Path])-11,11),10)),
#"Entfernte Duplikate" = Table.Distinct(#"Hinzugefügte benutzerdefinierte Spalte", {"Benutzerdefiniert"}),
#"Sortierte Zeilen" = Table.Sort(#"Entfernte Duplikate",{{"Benutzerdefiniert", Order.Descending}}),
#"Andere entfernte Spalten" = Table.SelectColumns(#"Sortierte Zeilen",{"Benutzerdefiniert"}),
#"Beibehaltene erste Zeilen" = Table.FirstN(#"Andere entfernte Spalten",1),
Benutzerdefiniert = #"Beibehaltene erste Zeilen"{0}[Benutzerdefiniert]
in
Benutzerdefiniert
Im zweiten Schritt habe ich einen Parameter (FolderSource) mit meinem Hauptordner-Pfad ("BLABLABLA/PO Cut Off/") erstellt.
=> 'FolderSource'
Im dritten Schritt, daran scheitert es, passe ich über den erweiterten Editor den Code einer geladenen Arbeitsmappe entsprechend an, um diesen variabel zu gestalten.

let
Quelle = Excel.Workbook(File.Contents(FolderSource & GetFolderName(FolderSource) & "\BLA.xls"), null, true),
Tab = Quelle{0}[Data]
in
Tab
Die Fehlermeldung lautet:
Expression.Error: 1 Argumente wurden an eine Funktion übergeben, erwartet wurde(n) jedoch 0.
Details:
Pattern=
Arguments=[List]

Diese taucht auf sobald "GetFolderName" ins Spiel kommt, der Parameter "Folder Source" funktioniert, das habe ich bereits getestet.
"GetFolderName" ist eine Funktion die sich 1zu1 auf Schritt 1 bezieht, der Code ist entsprechend gleich wie jener von Schritt 1, lediglich mit folgender Ergänzung, die automatisch angefügt wurde - vermutlich unbedeutend:

let
Quelle = () => let
Quelle = Folder.Files("BLABLABLA/PO Cut Off"),
in
Benutzerdefiniert
in
Quelle
Die Anleitung sagt explizit, dass ich beim Erzeugen der Funktion "GetFolderName" (in Bezug auf Schritt 1, welcher meinen Ordnername als Resultat hat) einen Parameter (den in Schritt 2 - "FolderSource") auswählen soll.
Aber beim entsprechenden Fenster kann ich nur einen Namen für die Funktion vergeben, nicht noch zusätzlich einen Parameter auswählen.
Hier das Bild aus der Anleitung, bei mir konnte ich den rot markierten Teil NICHT zusätzlich erledigen, da dieser nicht angezeigt wurde.
Userbild
Ggf. fehlt die Verknüpfung der Funktion zu dem Parameter?! Das kann man doch sicherlich nachträglich im Code der Funktion noch ergänzen, oder?
Wenn ja, wie? Oder sieht ihr ein anderes Problem? :-S
Die Anleitung ist hier:
https://whatthefact.bi/de/power-bi/power-query-m/dateien-mit-aendernden-namen-aus-ordnern-mit-aendernden-namen-in-power-query-laden/
Eine Bespieldatei würde ich bereitstellen, aber ich weiß nicht wie ich das machen soll, da sich ja alles auf Pfade und Ordnerstrukturen auf meinem PC bezieht...
Im Voraus vielen Dank für jeden der sich das überhaupt durchgelesen hat.
Gruß,
Chris

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PQ: dynamischer Ordnerpfad
17.06.2022 21:04:28
Luschi
Hallo Chris,
da hat aber jemand in dem Beispiellink auf die ganz große Pauke gehauen - um dann erst mal bei einer Formula.Firewall-Warnmeldung zu landen.
Dieses automatische Auslesen des Ordners mit dem jüngsten Datum wird dann zum Chaotikum, wenn es später zu Differenzen kommt und Du den Fehler suchst - aber die automatische Pfadermittlung mit dem jüngstem Datum läßt Dir keinen Zugriff mehr zu den eigentlichen Daten zum Zeitpunkt der Abfrageerstellung - gut gemeint ist eben nicht gut gemacht.
Bei mir habe ich 1 Excel-Seite, in der der gerade aktuelle Pfad zum Zeitpunkt der Abfrageerstellung fest eingetragen ist. Und genau dieser Pfad (und kein anderer) wird in die PQ-Abfrage eingelesen und dann verarbeitet.
Einen 1. Einblick kann Du hier herunterladen: https://www.herber.de/bbs/user/153568.zip
siehe Tabelle 'Config' - intelligente Tabelle 'tab_QuellPfad'
Gruß von Luschi
aus klein-Paris
Anzeige
AW: PQ: dynamischer Ordnerpfad
17.06.2022 21:47:04
Yal
Moin Chris,
ziemlich viel zusammen. Ich glaube nicht, dass ich alles erfasst habe, aber ich glaube zu verstehen, dass Du eine Funktion herstellen möchtest, die eine Parameter verwendet.
Dafür musst Du zuerst eine Abfrage herstellen, z.B. auf einem Verzeichnis-Inhalt. Dann legst Du auf eine Spalte einen "Textfilter" "ist gleich..." und als Wert-Typ wählst Du statt "ABC" "neuer Parameter..." (Parameter definieren bekommst Du hin auch ohne weiteres Geschwafel von mir ;-)
Erst dann kannst Du auf der Basis dieser Abfrage eine Funktion herstellen, die den von Dir definierten Parameter erwartet.
Ich hoffe, es hilft Dir.
VG
Yal
Anzeige
AW: PQ: dynamischer Ordnerpfad
20.06.2022 08:52:29
Chris94
Hallo Luschi, hallo Yal,
vielen Dank für eure Antworten!
Ich komme leider nicht wirklich weiter, trotz eurer Hilfe. Ich werde daher versuchen die Problematik nochmals anders und konkreter zu schildern - in einem neuen Thread mit Verweis auf diesen.
Nochmals Danke für eure Antworten.
Gruß,
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige