Datename aus CSVReader aus FileList

Hallo Synesty,


wenn ich mehrere Dateien über den FTPDownload Step runterlade und diese per CSV Reader verarbeite, würde ich gerne den Dateinamen mit in der Zeile ausgeben.

Unter Meta Informationen, habe ich nur die Option alle Dateinamen auszugeben, ohne diese aber der jeweiligen Zeile zuordnen zu können.

Ich hatte es auch bereits versucht zu raten z.B.: ${_fileName} oder ${meta.fileName}, kam hier aber nicht zum gewünschten Ergebnis.


Gibt es die Option für jede Zeile, den jeweiligen Dateinamen mit auszugeben?


Viele Grüße

Stefan

Hallo Stefan,


du warst mit ${_fileName} gar nicht so verkehrt. Probier mal das hier:

https://synesty.freshdesk.com/de/support/solutions/articles/11000056885-spreadsheet-wie-kann-ich-den-dateinamen-der-eingelesenen-datei-in-einer-spalte-ausgeben-

Sollte bei dir der 'Dateiname' nicht angezeigt werden, kannst du auch direkt ${_inputFilename!} verwenden.


Viele Grüße,

Lukas

Hallo Synesty,


danke für die Antwort.


Ironischer weise klappt das, ist aber nicht als Option unter Quelle gelistet.



image



Viele Grüße

Stefan

Danke für die Rückmeldung. Wir prüfen mal warum das nicht angezeigt wird.

Kannst du uns sagen, wie der Aufbau deines Flows grob ist? Uns interessiert wann der CSVReader kommt und wann der SpreadsheetMapper kommt, der das Ergebnis vom CSVReader bekommt. Sind die unmittelbar hintereinander oder kommt da noch etwas dazwischen?


Es kann sein, dass _inputFilename nur dann angezeigt wird, wenn der Mapper direkt das Ergebnis des CSVReaders bekommt. Wenn da noch etwas anderes dazwischen ist (z.B. ein SpreadsheetFilter) dann geht es evtl. nicht. Wir prüfen das aber mal noch genau und ergänzen die Doku.

Es ist wie vermutet: [Dateiname] (für ${_inputFilename!} ) ist nur in der Auswahl sichtbar, wenn der Mapper das Spreadsheet direkt aus dem CSVReader bekommt. Ansonsten kann der Mapper nicht mehr feststellen, dass es sich um ein sog. "FileBased-Spreadsheet" handelt, welches seine zugrundeliegenden Dateinamen kennt. Kommen noch anderen Steps dazwischen, gehen solche Informationen verloren.




Fazit: Immer wenn man Informationen des Dateinamens braucht, dann sollte man die sich nach dem entsprechenden Datei-Lese-Step direkt mit einem Mapper holen und erst danach filtern usw. Datei-Lese-Steps können z.B sein: SpreadsheetCSVReader, XML2Spreadsheet, JSON2Spreadsheet, VisualXML2Spreadsheet, VisualJSON2Spreadsheet, Excel2Spreadsheet - also alles was direkt Dateien einließt und als Spreadsheet ausgibt.



Hallo Synesty,


hier ist der Mapper direkt hinter dem CSVReader.

Das sieht so aus:

image



Ich filtere also vorher nicht oder mach irgendwas anderes :)

Wichtig ist, der CSVReader bekommt eine Liste an CSV-Dateien vom FTPDownload Step übergeben.



Viele Grüße

Stefan

Das ist mysteriös. Wir gehen dem nach...

Hallo Stefan,


kann es sein, dass du den Flow im Sandbox Workspace gebaut hast. Denn da wird es tatsächlich nicht angezeigt. In einem normalen Workspace sollte es dir angezeigt werden. Aber wir überlegen uns was, dass es auch in einem Sandbox Workspace funktioniert.


Viele Grüße,

Lukas

Hallo Lukas,


der Flow wurde im Default Workspace gebaut. :)

Ich kann euch gerne mal eine Kopie davon bereit stellen.

Ich bin im Moment hier noch selber am Arbeiten.


Viele Grüße

Stefan

Hast du zufällig im CSVReader ein Limit eingestellt? Wenn ja, dann könnte das den Effekt erklären. Wenn du das Limit entfernst (ein nackter CSVReader) dann sollte es angezeigt werden.
Wir haben das Thema jetzt intern bei uns als Ticket angelegt und werden uns eine Lösung überlegen. Wir müssen uns hier eine neue Lösung einfallen lassen, da sich hier einige Mechanismen gegenseitig behindern - scheinbar "historisch gewachsen" ;) Danke dass du da dran geblieben bist.


Hallo Synesty,


ich habe kein Limit gesetzt.

Soweit ich aber weiß, habt ihr an einigen Stellen ein internes Limit gesetzt.

Könnte das eventuell daran liegen?

image



Viele Grüße

Stefan

Kannst du uns bitte einmal einen Support-Nutzer anlegen und uns den Flow nennen, um den es geht.

Danke.

Hallo Synesty,


ich habe den Support Nutze anlegen lassen.

Dieser ist 7 Tage gültig.

Der Flow ist im Default Workspace/Stefan/7-Stefan (Ich weiß, sehr kreativ)

Der betroffene Step lautet ">>>>Hier geht was nicht<<<<"


Viele Grüße

Stefan

Vielen Dank Stefan, wir wissen jetzt woran es liegt. In deinem Fall funktioniert es nicht, weil du mit einer FILELIST und nicht mit einer einzelnen Datei (FILE) getestet hast.


Aber egal: Wir müssen hier ran und dieses Feature neu denken und neu bauen. So wie das ursprünglich früher mal gebaut wurde ist es nicht optimal und funktioniert in zu vielen Fällen nicht. Da spielen einige neue Features mit rein (z.B. Sandbox) , Limit beim CSV-Reader, die es damals noch nicht gab.


Wir haben das jetzt auf dem Plan. Es war aber gut, dass wir diese Runde gedreht haben - wenn auch nervig für dich - aber wir kommen so hoffentlich zu einem besseren Ansatz. Es ist zwar optisch ein kleines Feature, aber wenn es nicht funktioniert ist auch doof. Wir schauen mal, dass wir in den nächsten Wochen trotz Urlaubszeit da mal ran kommen.


Danke für deine Mitwirkung. Supportnutzer kannst du wieder löschen.



Hallo Synesty,


vielen Dank für deine Rückmeldung.

Sowas hatte ich auch schon vermutet.

Ich hatte an mehreren Stellen erwähnt, dass ich hier eine Liste an Dateien abgreife ^^

Es ist nicht weiter schlimm, dass das fürs erste nicht funktioniert, würde mich trotzdem freuen wenn es irgendwann geht.


Viele Grüße

Stefan

Alles klar. Ja wir hatten Erwähnung mit "Liste" schon gesehen, nur hätten wir initial nicht gedacht, dass es damit zu tun hat. Erst ein gaaanz tiefer Blick in den Code hat es dann ans Tageslicht gebracht :) Wichtig ist ja dass die Variable ${_inputFilename!} bei dir funktioniert.