Behalten / Löschen nur von bestimmten Inhalten in Mapper

Hallo zusammen,

ich hab eine Spalte mit Produktbeschreibungen im Mapper, aus der ich nur den Produkttyp (frisch oder tiefgefroren) in einer anderen Spalte extrahieren möchte. Der Typ, wenn vorhanden, ist nach dem letzten Komma in der Beschreibung zu finden. Ich hab bis jetzt eine Arbeitsspalte erstellt, in der mit keep_after_last mir die Daten ziehe. Das Ergebnis sieht dann so aus:
grafik

Wie ihr seht, bekomme ich neben dem gewünschten Ergebnis auch andere Daten, die ich gerne löschen möchte.
Bis jetzt hab ich probiert

  • Suchen & Ersetzen + regex in der Ergebnisspalte
  • if - else oder if - elseif - else in einer weiteren Spalte

Da ich mich aber weder mit freemarker noch mit regex wirklich auskenne und auch ChatGPT nicht so hilfreich war, kriege ich es nicht hin, nur Frisch und tiefgefroren zu behalten. Ich bin sicher, dass es eine elegante Lösung gibt, aber komme leider nicht darauf.

Mein letzter Versuch war:
<#if result["description_work"]!?keep_after_last(",") == Frisch || result["description_work"]!?keep_after_last(",") == tiefgefroren>${result["description_work"]!?keep_after_last(",")}<#else>unbekannt</#if>

description_work ist die linke Spalte aus dem Screenshot. Der Code sollte sagen „Wenn das Ergebnis von keep_after_last „Frisch“ oder „tiefgefroren“ ist, gib mir in der Ergebnisspalte das Ergebnis (also diese Wörter) aus. In allen anderen Fälle sollte „unbekannt“ darin stehen“.
Das Ergebnis vom Versuch:

Ich bin am Ende mit meinem Latein. Hat jemand Ideen?

Maya

Hallo @Entegra,

die einfachste Lösung wäre, wenn du im Mappingset folgendes Schreibst:

Frisch=Frisch
tiefgefroren=tiefgefroren

Und stellst den Mappingmodus auf „Nicht gemappte Werte“ entfernen.
Hier ein Beispiel: Transformy

Wenn du „unbekannt“ noch setzen möchtest musst du stattdessen den Mappingmodus auf „Standardwert benutzen“ setzen und den Standardwert „unbekannt“ setzen.

Viele Grüße
Lukas

1 „Gefällt mir“

It works! :star_struck:
Vielen Dank, das hat perfekt funktioniert.