Datastore Spalten mit verschiedenen Steps füllen

Hallo,


ich versuche nun schon seit einigen Stunden einen Datastore aus unterschiedlichen Spreadsheets zu füllen.

Ich habe eine XML Datei mit Produkten und 12 weitere XML Dateien die zu den Produkten, via Artikelnummer, die Namen und Artikelbeschreibungen in unterschiedlichen Sprachen wiedergeben.


Da ich in meinem finalen SpreadsheetMapper nicht pro Datensatz, pro Sprache durch alle Spreadsheets iterieren möchte hätte ich gerne eine Art SVERWEIS.


Man gab mir bereits den Hinweis die könne man via DatastoreWritern realisieren.

Nur scheitere ich daran. Ich möchte meinen Datastore gerne pro Step um die jeweilige Sprache erweitern, nicht die vorherige überschreiben.


In der Doku steht auch das bei Verfahren XY der letzte Datensatz "gewinnt", was bei mir der Fall ist, jedoch nirgends wie man dieses Verhalten umgeht.


Ich habe aktuelle pro Sprache einen urlDownload Step, gefolgt von einem XML2Spreadsheet und anschließend, so mein Plan einen SpreadsheetDatastoreWriter der die insgesamt 4 Spalten (Name, Description, Color, Material) anhand der Artikelnummer dem richtigen Datensatz in der Datenbank zuordnet.


Leider werden pro Step die vorherigen Spalten gelöscht und nur die aktuellen eingetragen, obwohl ich sogar im Vorfeld manuell ein DatastoreSchema erstellt habe das alle notwendigen Spalten besitzt.


Hoffe auf Hilfe.

Danke und beste Grüße

Erik Kümmerling | Source Werbeartikel GmbH

Hallo Herr Kümmerling,


das klingt sehr umfangreich, aber versuchen wir uns mal heranzutasten. Es wäre hilfreich, wenn Sie exemplarisch mal diese verschiedenen zu importierenden Spreadsheets hier hinschreiben könnten. Das bitte für die Input-Daten und das zu erwartende Ergebnis. Nur so können wir sicherstellen, dass wir nicht aneinander vorbei reden.


Beispiel:

identifier,spalte1,spalte2
ID1,wertzeile1spalte1,wertzeile1spalte2
ID2,wertzeile2spalte1,wertzeile2spalte2
 

Ein Screenshot Ihres Flows wäre auch Hilfreich, um grob den Ablauf zu erkennen.


Zum letzten Satz: Leider werden pro Step die vorherigen Spalten gelöscht und nur die aktuellen eingetragen, obwohl ich sogar im Vorfeld manuell ein DatastoreSchema erstellt habe das alle notwendigen Spalten besitzt.


Können Sie mal die Spalten aus dem SpreadsheetDatastoreWriter entfernen, die nicht überschrieben werden sollen? Der SpreadsheetDatastoreWriter verhält sich so, dass Spalten, die im Mapping nicht enthalten sind, auch nicht angefasst werden (auch wenn Sie es im Schema sind). Evtl. muss hier auch noch ein SpreadsheetFilter mit in die Gleichung.

Hallo und danke für die schnelle Antwort,


muss das Thema nur jetzt kurzfristig erstmal auf unbestimmte Zeit zurückstellen. Wenn es wieder aktuell wird werde ich Posten worum Sie mich gebeten haben.


Vielen Dank

Erik Kümmerling | Source Werbeartikel

Ok kein Problem.

Wir planen mal ein neues Cookbook, wo wir ein Beispiel zeigen wie man einen Datastore mit Daten aus 2 verschiedenen Spreadsheets anreichern kann. Evtl. trifft das genau Ihren Fall.


Das war in der Partnerschulung eigentlich eine Prüfungsaufgabe, von daher dürfen sich die Partner gern hier auch austoben ;)