Querverweis mit Komma getrennten Feldern

Hi,

ich habe in einer Zelle mehrere Werte (Artikelnummern) die mit Komma getrennt sind. Nun will ich nach jeder Nummer einzeln im gleichen Datastore suchen und in ein neues Feld schreiben, aber mit einem anderen identifier ersetzen.
Ausgang z.B:
|identifier1|identifier2|ArtNR|
|A0001|B009|B012, B013|
|A0002|B010|B009, B011|
|A0003|B011|B009, B010, B014|
|A0004|B012|B009, B010|
|A0005|B013|B009, B010|
|A0006|B014|B009, B010|

Ich will also nach allen Werten in „ArtNR“ in identifier2 suchen und dann alle identifier1 auch Kommagetrennt zurückgeben.
Ergebnis:
|identifier1|identifier2|ArtNR|Resultat|
|A0001|B009|B012, B013|A0004, A0005|
|A0002|B010|B009, B011|A0001, A0003|
|A0003|B011|B009, B010, B014|A0001, A0002, A0006|
|A0004|B012|B009, B010|A0001, A0002|
|A0005|B013|B009, B010|A0001, A0002|
|A0006|B014|B009, B010|A0001, A0002|

Mfg Sebastian

Hallo @etree,

versuch mal folgendes Vorgehen:

Dein Ausgangsspreadsheet mit ColumnsSplitToRows nach der „ArtNR“ splitten, dadurch bekommst du jede ArtNR auf eine Zeile und kannst damit mit SearchInDatasoreByIdentifiers in deinem Datastore nach jedem Eintrag suchen, der die ArtNR als identifier2 hat. Danach noch etwas „Gruppiermagic“ in deinem Spreadsheet und du solltest auf dein gewünschtes Ergebnis kommen.

Viele Grüße,
Lukas

Hi Lukas,
also zunächst nutze ich [SearchDatastore] und dann [ColumnsSplitToRows] - funktioniert wie gewollt.
Wenn ich nun aber danach [SearchInDatasoreByIdentifiers] nutze, bekomme ich lediglich die gefundenen Treffer zurück.
Wie kombiniere ich nun aber die Artikel aus [SearchDatastore] mit den Resultaten aus
[SearchInDatasoreByIdentifiers] kombiniert.
Ich sehe in dem Step [SearchInDatasoreByIdentifiers] keine Zuordnung zwischen dem Artikel nachdem ich gesucht habe und dem der gefunden wurde. Lediglich die Resultate bekomme ich geliefert.

Hi,

kann mir jemand hier weiterhelfen?

Also SearchInDatastoreByIdentifiers ist evtl. doch nicht so der Ansatz.

Probier mal:

  1. ColumnsSplitToRows auf ArtNR ( dadurch erscheinen z.B. B012, B013 in jeweils einer Zeile)
  2. Mapper (mit Querverweis auf die durch 1. aufgesplittet ArtNR. Damit holst du dir den anderen Identifier aus dem Datastore den du brauchst und hast auch weiterhin alle anderen Ursprungsspalten)

Jetzt musst du das irgendwie wieder zu einer Zeile pro identifier1 zusammen dampfen:

  1. noch ein Mapper (Gruppieren nach identifier1, und bei ArtNR Aggregatfunktion Alle Werte auflisten mit Komma-Trenner )
    image

Dadurch bekommst du pro identifier1 wieder jeweils eine Zeile (durch gruppieren) und die ArtNR stehen wieder komma-separiert in einer Spalte.

Hier ein Beispiel der Gruppierung

Hi @synesty-Sales ,

Danke, hat soweit erstmal funktioniert.
Im letzten Mapper, in dem ich gruppiere und alle Werte aufliste und mit Komma trenne, sieht alles korrekt aus:

Danach will ich einfach diese Werte wieder in einen Datastore schreiben. In der Vorschau sieht auch alles korrekt aus:

Jedoch im Datastore kommt, wenn überhaupt, nur der erste Wert an:
R9861520EU
image

CP-8861-K9
image

AIR-LAP1242AG-E-K9Q3
image

Bist du dir ganz sicher, dass auch der korrekte Mapper (der gruppierte) in den DatastoreWriter rein gegeben wird?

Nur noch mal zur Sicherheit: Diese Vorschau ist von welchem Step?

Die erste Vorschau ist von 7. „Gruppieren“, die untere von dem 8. Writer:
image

Und ja, der Writer (8) bezieht sich auf den Step (7) davor.

Hmm der DSWriter sieht eigentlich gut aus. Ein Test wäre jetzt nur noch, ob sich irgendwie Duplikate eingeschlichen haben.
Ggf. mal probieren nach dem Step 7. (Gruppieren) einen CSVWriter und StoreDebugFile (oder EmailSend) zu hängen, und sich mal die Datei in einem Texteditor anzuschauen. Gibt es evtl. mehrere Zeilen die z.B. identifier R9861520EU enthalten… evtl. weiter am Ende der Datei? Beim DSWriter gewinnt immer der letzte Datensatz.

Hi,
anscheinend war etwas mit der Vorschau kaputt. Die Resultate in der Vorschau entsprechen nicht den tatsächlichen Werten.
Durch den Export der CSv habe ich aber festgestellt, dass nach dem „ColumnSplitToRows“ viele ID’s ein Leerzeichen am Anfang enthalten haben, was man in der Vorschau nicht sehen konnte.
Nach dem „ColumnSplitToRows“ entferne ich nun Leerzeichen und falls noch vorhanden, Kommas aus der Spalten.

Nun funktioniert es erstmal, Danke!

1 Like