Sverweis zwischen zwei Spreadsheets in Flow

Hallo zusammen,


gern würde ich in Step 1 eine Spreadsheet filtern und in Step 2 nur zum Output aus Step 1 passende Datensätze filtern.


Bsp.: Man filtert in Step 1 (Bestandsdatei) aus 1000 Artikeln alle mit Lagerbestand. In Step zwei (Preisdatei) sollen dann nur Preise zu den in Artikeln mit Lagerbestand gefiltert werden. Anschließend werden die Dateien verschickt.


Gibt es einen Weg dies direkt zu machen oder muss der Weg über einen Datastore gegangen werden? Beide Dateien haben unterschiedliche Strukturen.


Vielen Dank

Hallo,


wenn es nicht allzu viele Zeilen (Artikel) sind gibt es schon ein paar Möglichkeiten das Problem über ein AddUpdateMappingset Step oder KeyValueSpreadsheet Step zu lösen.


Allgemein müsste der Flow dann folgendermaßen aufgebaut sein:


1. Bestände abrufen

2. Filter Bestände > 0

3. Gefilterte IDs in Mappingset oder KeyValueSpreadsheet übernehmen

4. Preise abrufen

5. SpreadsheetMapper: MappingSet oder KeyValueSpreadsheet verwenden, um zu prüfen ob ein ID (im gefilterten Bestandsexport) vorhanden ist

6. Filter vorhandene IDs

7. SpreadsheetAppender um die beiden Filter Ergebnisse zu verbinden

8. SpreadsheetMapper Step: Gruppieren nach ID

...


Falls du es für Plentymarkets (REST) brauchst, kannst du folgendes machen:


1. PlentyGetCurrentStock

2. Filter Bestände > 0

3. PlentyGetVariationsSalesPriceUpdate (Variant ID Spreadsheet mit dem Filter Ergebnis verbinden, damit nur die Preise von Varianten mit Bestand abgerufen werden)

4. SpreadsheetAppender um Filter Ergebnis (Bestände > 0) und PlentyGetVariationsSalesPriceUpdate Ergebnis zu verbinden

5. SpreadsheetMapper Gruppieren nach Varianten ID


Viele Grüße

Torsten











Hallo Torsten,


super, das hat mir geholfen. KeyValueMapper ist was ich gesucht habe. Welchen Hintergrund hat "nicht all zu viele Zeilen"? Es können schon 100.000 sein. Ist das ein Problem?


Vielen Dank,


Christian

Hallo Christian,


100.000 Zeilen werden sicher nicht funktionieren, weil der KeyValueSpreadsheet auf 150 Kb Gesamtgröße beschränkt. In dem Fall würde ich dir doch einen Datastore empfehlen. Du kannst die Datensätze des Datastores auch automatisch jede Nacht löschen lassen -> siehe http://docs.synesty.com/display/SSUD/Datastores#Datastores-DatastoreManagement


Viele Grüße

Torsten

Hallo,

ich benötige die selbe Funktionalität! Gibt es ggf, bereits eine bessere Lösung? Kann ich das ggf. direkt per Freemarker machen?

wieviel Zeilen sind denn ca. möglich beim KeyValueSpreadsheet?
Wieviel sind denn ca. 150Kb oder wie kann ich das berechnen?

Vielen Dank im Voraus!

Hi,


wir sind schnell an die Grenzen gekommen und haben daher einen Datastore geschrieben, der dann automatisch wieder gelöscht wurde. Ist ein Umweg, der zeitweise am Limit der möglichen Datastorezeilen kratzt, aber gut. Oder du schreibst die Excel und liest sie im nächsten Step wieder rein.


Alles nicht die feine Art aber sollte funktionieren.


VG.