Kommagetrennte Werte einzeln in anderer Tabelle abfragen

Hallo Synesty,


wir haben folgende Problemstellung.

Wir haben eine Spalte mit Cross-Selling Artikelnummern welche in einer csv mit Komma getrennt aufgeführt werden. Manche Artikelnummern müssen aber aus dieser Spalte entfernt werden


image

In einer anderen Liste sind diese Cross-Selling Artikel aufgeschlüsselt. Wie kann ich mittels Querverweis nach den kommagetrennten Werten suchen? Sprich:

- Suche Artikel mit der Nummer 1000001456 in Liste XY

- Bei Übereinstimmung lösche diesen Artikel aus der Zeile


Hallo spreisl-thomas,


mit dem SpreadSheetColumnValueSplit2Rows-Step können Sie die cross-selling-products auf mehrere Zeilen aufschlüsseln und dann per Querverweis suchen und bei Treffer ein Leerzeichen einfügen und als Standardwert ${cross-selling-products}.

Danach können Sie wieder nach 'model' gruppieren und als Aggregatfunktion 'Alle Werte auflisten' auswählen.

https://synesty.freshdesk.com/a/solutions/articles/11000066823-spreadsheet-wie-kann-ich-die-anzahl-der-selben-werte-in-einer-spalte-ermitteln-%C3%A4hnlich-der-z%C3%84hlenw


Für nähere Erklärungen bitte ich Sie hierzu ein Ticket zu erstellen.


Mit freundlichen Grüßen,


Ihr Synesty-Support

Hallo spreisl-thomas,


ich melde mich hier zu dem Thema nochmal. Es gibt noch eine performance effizientere Variante mit KeyValueSpreadsheet, der ohne Querverweis auskommt. Sie führen einen SearchDatastore auf den Datastore aus mit den Artikelnummern.

Danach fügen Sie ein KeyValueSpreadsheet hinzu und wählen als Key und Value jeweils die Spalte mit den Artikelummern aus.

Dann gehen Sie in Ihren eigentlichen Spreadsheetmapper und fügen in dem Wert-Feld der cross-selling-products Spalte folgendes ein:


<#list cross_selling?split(',') as id><#if !meta.map@KeyValueSpreadsheet_2.containsKey(id)>${id}<#sep>,</#if></#list>



Hier ist zu beachten, dass KeyValueSpreadsheet_2 bei Ihnen anders heißt.(+-Button > aus Meta-Daten > KeyValueSpreadsheet)

Und in das Skript-Feld unter Funktionen fügen Sie noch folgendes ein:


${value!?remove_ending(',')}



Mit feundlichen Grüßen,


Ihr Synesty-Support

Vielen Dank für Deine Hilfe!