Step wird in Vorschau (mit Daten) erreicht, aber im richtigen Run nicht?

Hallo Synesty,

stehe grad im Flow checkMHD total auf dem Schlauch:

VariationID 1000 ist so eingerichtet, dass sie vom Flow als "MHD neu abgelaufen" erkannt wird. Wenn das klappen würde, würde im Step 36 ein DynImport angestoßen, der diverse Dinge anpasst. Das geschieht jedoch nicht.

Wenn ich aber die Vorschau von Step 36 anstoße, scheint alles zu passen? Laut Eventlog (beead62a-70cc-11e7-b484-901b0ea49fee) war mein Spreadsheet ab Step 31 leer (# processed rows: 0), in der Vorschau ist der befüllt. Step 26 hat noch Daten, dazwischen sind lediglich zwei Filter, also muss es ja egtl an denen liegen? Wenn ich aber beide Filter auf bypass stelle (6da65282-70ce-11e7-b484-901b0ea49fee) ändert sich auch nix? Wo gehen denn dann die Daten zwischen Step 26 und 31 verloren?

Danke, Daniel

Hallo Daniel,


ich habe mir den Eventlog grob angesehen. Ich könnte mir vorstellen das es mit dem DatastoreWriter in Kombination mit einem Querverweis in einem vorherigen Mapper zusammenhängt, was dann dazu führt das eine Filterbedingung nicht mehr zutrifft.


Zur Erklärung: Die Filter und Mapper Steps werden werden nur bei Bedarf, sprich wenn ein Output geschrieben werden soll (CSVWriter, Datastorewriter, .. . im Prinzip fast alle Output steps). Beim DatastoreWriter (Step 28) wird deine gesamte Filter, Mapper Kette ab Step 9 ausgeführt und das Ergebnis in den Datastore geschrieben. Beim Dyn. Export wird nochmal die gesamte Kette ab Step 9 durchlaufen. Wenn du in einem Mapper einen Querverweis hast, bekommt dieser dann schon die "frisch" geschrieben Daten aus dem Datastore. Das könnte dann dazu führen das eine nachfolgende Filterbedingung nicht mehr zutrifft.


In der Vorschau funktioniert es wahrscheinlich weil die Daten in der Vorschau nicht in den Datastore geschrieben werden.


Falls es daran liegt, kannst du in den SpreadsheetMappern mit Querverweis unter "Erweiterte Einstellungen" den "cacheMode" aktivieren. Damit wird das Ergebnis beim ersten durchlaufen des Mappers gespeichert.


Viele Grüße

Torsten

Hallo Torsten,

so ganz kann ich das immer noch nicht nachvollziehen:

a) Wenn meine Filterbedingungen durch Querverweis (ja, davon hats einige) nicht mehr passen sollte, dann müsst ich doch aber trotzdem durch Filter-Bypass weiterkommen? Wie gesagt, in Step 26 hab ich noch Daten, in 31 dann nicht mehr.

b) Solang sich an den Daten nichts ändert, müsste ich die Problematik doch durch erneutes Ausführen des Flows umgehen können? Weil dann die Daten im DS von Anfang an auf aktuellem Stand sind. Oder nicht?

Naja, muss mich mal tiefer einfuchsen. Komisch ist halt, dass der Flow in Plenty6 mal ohne Probleme geklappt hat... Vielleicht bekomm ichs aber zum laufen, indem ich den DatastoreWrite weiter nach hinten verschiebe im Flow? Ich mach Meldung :)

Gruß Daniel

Zwischenstand: Wenn ich den DatastoreWriter in Step 25 deaktiviere, klappts dann auch mit den Querverweisen bzw dem Timing. Hm. Jetzt muss es nur noch *mit* dem klappen :)


Ganz andere Frage: Wie kommt das die SpreadsheetMapper (angefangen bei Step 6) mir 16 (später 10) "processed rows" melden? Ich hab ein Limit von 1 gesetzt. Wie können da mehr Reihen rauskommen? (Eventlog 61849dba-7633-11e7-8fae-901b0ea49fee)


Danke, Daniel

Hallo Daniel,


das liegt auch daran, dass Mapper und Filter nur bei "Bedarf" ausgeführt werden wenn ein Output geschrieben werden soll (CSVWriter, Datastorewriter, ...). Die Output Spreadsheets von Mapper und Filter werden im Normalfall (wenn cacheMode deaktiviert ist) nicht gespeichert. D.h. die Mapper und Filter werden bei mehrfacher Verwendung, mehrfach durchlaufen.


Ich habe deine Flow mal in einer Flowübersicht (an der wir arbeiten) geladen. Leider sind es sehr viele Steps, sodass es nicht ganz reingepasst hat :) Ich hoffe es veranschaulicht die Sache trotzdem etwas.

Ausgangspunkt ist das Ergebnis des PlentyGetVariations Step. Der CSVWriter (Step 15) verwendet als erstes das Ergebnis und läuft über die ganzen Filter und Mapper. Das 2. mal wird dann vom nächsten CSVWriter (Step 21) drüber gelaufen usw. In deinem Flow sind das wohl 16 Steps die über den Step 6 (Mapper) laufen.



imageViele Grüße

Torsten