Neues Thema starten
Beantwortet

Teile aus Werten übernehmen?

Hallo,


wir sind noch relativ neu unterwegs mit synesty und veloconnect.


Aktuell habe ich das Problem das ein Lieferant (der erste mit dem ich gerade angefangen habe) verschiedene Werte in die Description reingepackt hat, so findet sich zB bei vielen Artikeln der Empfohlene VK in der Description (was aus meiner Sicht keinen Sinn macht), bei manchen das Artikelgewicht und/oder Inhalt


Beispiel 1:

Topeak Aero Wedge Pack Strap Micro - BEFESTIGUNG:Riemen;EXPANDO:Bei Modell Medium;MATERIAL:1200 Denier Polyester;STAUVOLUMEN:0,41l;FEATURES:3M? Reflektorstreifen, Rücklichtaufnahme;MAßE:16 x 8 x 7,5 cm;GEWICHT:85 g; EMPF. VK:? 17,95


Beispiel 2:

Brooks Proofide Single 25g - INHALT:25 g;EMPF. VK:?€ 10,90


Kann ich bestimmte Inhalte aus der Description löschen  wie zB GEWICHT unD EMPF. VK und kann ich bestimmte Inhalte in einer neuen Zelle verwerten wie zB GEWICHT und INHALT?



Beste Antwort

Hallo bikeavenue, 


zu den 2 Fragen: 


Am Ende bleiben teilweise ";" stehen, manchmal 1-fach manchmal 2-fach je nach Ausgangswert. Kann ich die irgendwie pauschal am Ende löschen?


Sie können in der Spalte unter Funktionen -> Skript folgendes hinterlegen, damit Semikolons am Ende und Anfang entfernt werden: 

 

${value?replace(';+', ';', 'ri')?remove_ending(";")?remove_beginning(";")}

 

image




Kann ich auch umgedreht vorgehen, also einen einzelnen Wert auslesen - in diesem Falle das Gewicht - also nur den reinen Zahlenwert? Ich bin sicher es geht, aber ich komme nich dahinter...


Das können sie über die parseField Template Funktion lösen. Ich habe ihnen ein Beispiel erstellt:  https://apps.synesty.com/transformy?m=882c1b79cb7f406f817856f2b6ca4c4d


image



Hallo bikeavenue,


danke für die detaillierte Beschreibung des Vorhabens/Problems.


Das ganze sollte möglich sein, leider ist dieses Problem schon recht komplex und ohne Skripting nicht zu lösen.



Anbei eine Möglichkeit wie das ganze funktionieren könnte, bitte fügen Sie das in einer neuen Spalte (rechts neben der Description Spalte ein) ins Wertfeld ein:    

<#assign artikelmerkmale = result["Description"]?split(" - ")[1] />
<#list artikelmerkmale?split(";") as merkmal>
	<#assign merkmalname = merkmal?split(":")[0] />
	<#if merkmalname!?trim != "GEWICHT" && merkmalname!?trim != "EMPF. VK">
		${merkmal!};
	</#if>
</#list>

 

   

Grob erklärt:

Wir trennen den Text zuerst auf, in dem wir alles nutzen was nach " - " kommt.

Danach trennen wir die einzelnen Merkmale nach ";" auf und überprüfen, ob der Merkmalsname (alles das was vor dem ":" steht) nicht "GEWICHT" und nicht "EMPF. VK" lautet und geben den Wert in diesem Fall aus.


Sie können die Ausschlusskriterien  (Zeile 4) natürlich erweitern (mit "&&" weiter Merkmalsnamen ausschließen).



Wenn Sie jetzt nur wenige bestimmte Merkmale in einer Spalte ausgeben möchten, können Sie dies mit folgendem Skript erreichen (Beispiel für "EMPF. VK"): 

${parseField(result["Description"]?replace("; ",";")?replace("?","")?split(" - ")[1], "MAP", "TEXT", ";", ":").at("EMPF. VK")} €

 

   


Viele Grüße

Ihr Synesty Support

Wow erst mal danke, das klappt schon ganz gut.

Zwei Fragen noch:
Am Ende bleiben teilweise ";" stehen, manchmal 1-fach manchmal 2-fach je nach Ausgangswert.
Kann ich die irgendwie pauschal am Ende löschen?

Kann ich auch umgedreht vorgehen, also einen einzelnen Wert auslesen - in diesem Falle das Gewicht - also nur den reinen Zahlenwert? Ich bin sicher es geht, aber ich komme nich dahinter...

Danke vorab!

 

Hallo,
ich bin mir nicht sicher ob dir das hilft, aber du kannst dir über die Textfunktionen bestimmte Positionen einer Spalte ausgeben lassen. (Teilzeichenfolge). beachte dass der erste Wert beim zählen mit 0 beginnt ;)

image



Viele Grüße
Enrico

 

Antwort

Hallo bikeavenue, 


zu den 2 Fragen: 


Am Ende bleiben teilweise ";" stehen, manchmal 1-fach manchmal 2-fach je nach Ausgangswert. Kann ich die irgendwie pauschal am Ende löschen?


Sie können in der Spalte unter Funktionen -> Skript folgendes hinterlegen, damit Semikolons am Ende und Anfang entfernt werden: 

 

${value?replace(';+', ';', 'ri')?remove_ending(";")?remove_beginning(";")}

 

image




Kann ich auch umgedreht vorgehen, also einen einzelnen Wert auslesen - in diesem Falle das Gewicht - also nur den reinen Zahlenwert? Ich bin sicher es geht, aber ich komme nich dahinter...


Das können sie über die parseField Template Funktion lösen. Ich habe ihnen ein Beispiel erstellt:  https://apps.synesty.com/transformy?m=882c1b79cb7f406f817856f2b6ca4c4d


image


Anmelden um einen Kommentar zu veröffentlichen