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.

Power Query Ordnerabfrage
#1
Guten Tag,

ich habe es geschafft, eine Abfrage auf einen Ordner einzurichten. Aus unserem Online-Formular zur Mitgliederanmeldung lade ich bei einem Neuzugang eine Excel-Datei mit einem Eintrag herunter. Zeilen mit Überschrift konnte ich filtern - alles gut so weit. Nun meine Frage:
Wenn ich eine der heruntergeladenen Dateien aus dem abgefragten Ordner lösche, wird der entspr. Eintrag gelöscht. Das ist von Excel so vorgesehen und für viele Zwecke perfekt. Ich möchte allerdings eine "One-Way-Abfrage" haben. Einträge sollen hinzugefügt werden, änderungen sollen in eine Richtung assoziativ sein - nur sollen keine Zeilen gelöscht werden, wenn ich den Ordner leere.
Es würde mich schwer wundern, wenn sich das nicht einrichten lässt, ich hab auch schon rumgegoogelt. Allerdings weiß ich nicht, welchen Suchbegriff ich verwenden soll.
Wie nennt sich die beschriebene Funktion?

Mit freundlichen Grüßen,
Bernhard
Antworten Top
#2
(05.02.2023, 10:51)Freiherr von Dreist schrieb: ich habe es geschafft, eine Abfrage auf einen Ordner einzurichten. 

Hi  Bernhard,

wie denn? Eine ordentliche Abfrage auf alle Dateien im Ordner generiert die von Dir geschilderten Probleme nicht.

Beispiel: 
Code:
Quelle = Folder.Files("C:\PQ\Dateien\Quelldateien"),

...oder hab ich Dich falsch verstanden?

PS: ...ah... jetzt...
Freiherr von Dreist schrieb:Wenn ich eine der heruntergeladenen Dateien aus dem abgefragten Ordner lösche, wird der entspr. Eintrag gelöscht...

Versteh ich trotzdem nicht.... weshalb willst Du eine Datei löschen, deren Daten nicht gelöscht werden sollen? Das Vorgehen ergibt doch keinen Sinn...
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
Hallöchen,

Die Aufgabe ist
Zitat:Einträge sollen hinzugefügt werden
Die Dateien deren Daten eingelesen wurden, werden nicht mehr benötigt und können weg. Neue Daten aus neuen Dateien sollen hinzugefügt werden.

Könnte sein, man bekommt stündlich oder öfter eine neue Datei, wären am Tag 24, im Monat ca. 720, im Jahr ...
Wird recht voll, der Ordner. Ist nicht jedermanns Sache. Dauert eventuell auch etwas, wenn Excel nach einem Jahr ca. 8.000 Dateien einlesen soll.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
...mag ja sein, aber dann ist die Datenherkunft und die Kontrolle darüber nicht mehr gewährleistet. Der Manipulation wird Tür und Tor geöffnet. 
Ansonsten ist es ja kein allzu großes Problem Datum/Zeit der zuletzt eingelesenen Datei zu ermitteln und nur die Daten der Dateien anzuhängen, die neuer sind.

Die Frage ist, ob das geschilderte Vorgehen nicht grundsätzlich überdacht werden sollte. Weshalb für jedes neue Mitglied eine neue Datei (die irgendwann ausgelesen und gelöscht werden soll), und deren Daten irgendwann in einer anderen eingelesen werden sollen. Wäre es nicht sinnvoller, das neue Mitglied sofort als neuen Datensatz in die bereits bestehende Zieldatei zu schreiben?
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
(05.02.2023, 15:19)Ralf A schrieb: Ansonsten ist es ja kein allzu großes Problem Datum/Zeit der zuletzt eingelesenen Datei zu ermitteln und nur die Daten der Dateien anzuhängen, die neuer sind.
Ich meine in PBI Online (PBI Desktop) gibt es eine solche Einstellung. Mir fällt nur gerade das richtige nicht Stichwort ein.
Wir sehen uns!
... Detlef

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

Antworten Top
#6
...wenn Du Daten aus einem Ordner liest, dann bietet auch PQ diverse Datumsspalten für jede darin enthaltene Datei an. Da kann man sich aussuchen, welche davon man haben möchte.


Code:
LetztesDatum = List.Max(Schritt_oder_Tabellenname[Datumsspaltenbezeichnung]),

...aber wie gesagt, ich würde das direkt und sofort in die Zieltabelle als neuen DS einfügen und nicht solche umständlichen und unnötigen Umwege machen wollen...
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
Hi,

das suchwort wäre persistent oder dauerhaft,, aber mit Powerquery wird das nicht funktionieren. Du müsstest schon das Ergebnis der Abfrage von der Abfrage getrennt speichern. 

Viele Grüße
derHöpp
Antworten Top
#8
Abgesehen davon, ob es sinnvoll ist, neue Mitglieder in dieser Form in eine Mitgliederliste aufzunehmen, ist das schon machbar.

Anbei ein Beispiel. Angenommen im Blatt "ImportNamen" ist das Ergebnis des vom TO angesprochenen Imports und die Daten enthalten ein Datum und eine Uhrzeit. Dann hängt die Abfrage "tblListe" diese Daten an die Tabelle in dem Blatt "Mitgliederliste". Anhand von Nachname und Uhrzeit werden doppelte Einträge vermieden, das ist ggf. anzupassen. 

.xlsx   PQ_CreateAndLoadHistory.xlsx (Größe: 18,98 KB / Downloads: 16)
Antworten Top
#9
Moin,

danke Delta, das ist ein sehr guter Trick. 

Viele Grüße
derHöpp
Antworten Top
#10
Zitat:danke Delta, das ist ein sehr guter Trick. 


Hier fehlt allerdings der entscheidende Hinweis, dass nachdem die Abfrage tbl_Liste erstellt und die Liste ausgegeben wurde. direkt danach in dieser Abfrage die Zuweisung für "Quelle" auf sich selbst geändert werden muss.
Antworten Top


Gehe zu:


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