Getrennte Werte in Zeile in extra Spalten umwandeln

Hallo,
Ich möchte getrennte Werte in einer Zeile in mehrere extra Spalten aufteilen,
Die Zeile ist so aufgebaut [img1|img2|img3|img4] jedes img soll eine einzelne Spalte sein
ich habe bereits die Funktion ColumnSplitToRows probiert, die listet aber die Daten in extra Zeilen auf, was ich nicht möchte.

vielleicht hat einer ne idee :slight_smile:

Hallo @timon.strate.onix ,

eventuell hilft dir der KeyValueMapSplitToColumns Step.

Dieser Step erwartet den Input-Wert allerdings als Map (Schlüssel-Wert Paar), also z.B. :

Bild1=img1|Bild2=img2|Bild3=img3|Bild4=img4

Deinen Wert könntest du in einen vorherigen Mapper Step mit folgendem Skript in die richtige Form bringen:

<#list images?split("|") as image>Bild${image_index}=${image}<#sep>|</#list>

(images musst du durch deine Quellspalte ersetzen)

Ergebnis:

Viele Grüße
Torsten

Hallo Liebes Synesty Team, das hier ist ein toller Beitrag. Ich habe eine sehr ähnliche Ausgangssituation wie User timon.strate.onix

Auf anhieb dachte ich euer Vorschlag mit dem script im vorherigen Mapper Step um es in die richtige Form zu bringen wird bei mir auch funktionieren. Ich habe einiges probiert, ohne Erfolg. Dann habe ich euere beschriebenes Szenario 1:1 so abgebildet um zu testen ob dieses script so funktioniert. Leider nicht. Zumindest nicht bei mir. Siehe screenshot. Als Ergebnis kommt immer nur Bild0=

Ich habe sogar ein paar Modifizierungen ausprobiert, da ich dachte in deinem Beitrag wurde vielleicht versehentlich image anstatt img verwendet… Doch auch das klappte nicht.

P.s. Hier noch meine tatsächliche Ausgangsituation:

Meine Quellspalte beinhaltet mehrere Werte die durch ein Semikolon getrennt sind.
Beispiele
NP5000;NP7100;NP8600

manchmal auch nur 2: Beispiel: DT2300;DT2305

Mein Problem ist das der KeyValueMapSplitToColumns Step dies so nicht verarbeiten kann weil ja kein Schlüsselwertpaar definiert ist. Zusätzlich habe ich die Herausforderung das es keine fortlaufenden Werte sind wie bei img1 img2 usw…

Mein Lösungsansatz war bisher zuerst mal ein Prefix vorne ranzuhängen. und dann mit einer Verkettenfunktion zu arbeiten. Um dann anschließend den Step KeyValuemapsplittocolumns zu verwenden.

Das funktioniert leider nur halb. Denn am Ende wird nur 1 Spalte ausgegeben. Vermutlich weil jeder Wert das gleiche Prefix „img=“ hat. Es müsste ja fortlaufend sein. eben wie img1= img2= usw…

Das habe ich versucht mit eurem list script zu erreichen… doch da kommt eben auch immer nur Bild0=

P.S. in meinem Mall geht es nicht um images, sondern um Typbezeichnungen… Daher werde ich später das Prefix Typ1 Typ2 Typ3 verwenden… Es war nur symbolisch

Hallo @stellatech

du kannst das Skript von oben verwenden auch für deine Typenliste verwenden. Zwei kleine Dinge
musst du anpassen:

Im Beispiel oben ist der (Quell-)Spaltenname images. Diesen müsstest du auf deine Quellspalte anpassen.
Das Trennzeichen bei der Freemarker ?split Funktion ist bei dir ein Semikolon (;) .

Hier findest du ein Beispiel:

image

Ich hoffe das hilft dir weiter.

Viele Grüße
Torsten

Ja super. Jetzt klappt es. Ich sehe was ich vorher falsch gemacht habe.

Vielen Dank