Du befindest dich hier: Im Formeleditor für Produktfilter oder eigene Datenfelder.
WICHTIG: Beachte bitte, dass die übliche Programmiersprache, die auch in unserem System verwendet wird, englisch ist. Formeln und Funktionen werden deshalb immer in englisch geschrieben.
Syntax und Operatoren
Die erforderliche Syntax für Formeln entspricht im Wesentlichen der vieler Programmiersprachen. Es können definierte Parameter über ihren Namen, sowie Zahlen und Klammern verwendet werden. Text muss innerhalb doppelter Anführungszeichen liegen.
Außerdem dürfen folgende Operatoren benutzt werden:
Funktion | Operator | Textfelder | numerische Felder | Eigenes Datenfeld | Filter |
gleich | ungleich | == | != | x | x | (x) | x |
kleiner | größer | < | > | x | x | (x) | x |
“und”-Operator | AND | x | x | (x) | x |
“oder”-Operator | OR | x | x | (x) | x |
multiplizieren | * |
| x | x | x |
dividieren | / |
| x | x | x |
addieren | + | x | x | x | x |
subtrahieren | - |
| x | x | x |
modulo | % |
| x | x | x |
x: anwendbar - (x): anwendbar in komplexen Strukturen
Funktionen in Formeln
Du kannst in Formeln neben den Basisoperation wie Addition oder Multiplikation auch Funktionen nutzen. Diese Seite gibt Dir einen Überblick über alle verwendbaren Funktionen.
Als Parameter der Funktionen kannst Du auch Deine eigenen Datenfelder übergeben.
Damit Deine Formeln die gewünschten Daten ausgeben, steht Dir eine große Auswahl an vordefinierten Funktionen und Operatoren zur Verfügung. Wichtig ist, dass du die Vorgaben der Syntax einhalten musst.
Suchst du individuelle Funktionen, können wir diese auf Wunsch implementieren. Möglich wäre es bspw. den Webservice des Lagers oder der Produkte in Deinem ERP-System an den Namen der Funktion zu binden, so dass Du eigene Datenfelder und Filter mit Deinem aktuellen Produkten erstellen kannst.
Sprich uns einfach an und wir helfen Dir gerne.
Überblick über die Funktionen
Hier erhältst Du einen Überblick von Funktionen, die Du in Formeln verwenden kannst. Jeder Eintrag hat folgende Werte:
Funktionsname: Mit diesem Namen können sie die Funktion in Ihrer Formel verwenden.
Parameter: Anzahl an Parametern, die die Funktion erwartet.
Eingabe: Welcher Typ von Parameter die Funktion erwartet.
Ausgabe: Welcher Typ von Parameter die Funktion zurück gibt. Kann vom Typ der Eingabe abhängen.
Beschreibung: Eine Beschreibung der Funktion.
Beispiel: Ein Anwendungsbeispiel.
Falls Du die passende Funktion nicht findest, sprich uns an. Wir können den Umfang an Funktionen gerne erweitern und freuen uns auf Dein Feedback.
Funktionen
Funktionen sind vorgefertigte Bausteine, die komplexe Aufgaben umsetzen können.
Jede Funktion in der untenstehenden Liste besitzt folgende Informationen:
Name und Syntax: Name der Funktion, um diese aufzurufen und Syntax für die Datenanordnung
Nutzungsbeispiel: Kurzbeschreibung des üblichen Verwendungszweckes
Input: Daten, die von der Funktion verarbeitet werden können (Zahl, Text, wahr/falsch)
Output: Daten, die von der Funktion zurückgegeben werden
Informationen: Kurzbeschreibung aller Funktionsparameter und wichtige Informationen
Beispiele: Nutzungsbeispiele der Funktionen und typische Fehlerquellen
Die Liste der Funktionen ist nach ihrer generellen funktionalen Einordnung gruppiert:
Statistik Funktion - Funktionen die vor allem für statistische Zwecke verwendet werden
Rundungsfunktionen - Funktionen zum Runden von Zahlenwerten
Kontrollfunktionen - Funktionen für Kontroll- oder Abfragezwecke wie "if" oder "switch"
Funktion für Text - Funktionen zur Transformation von Texten oder Zahlen
Datumsfunktionen - Funktionen zum Auslesen oder Verändern des Datums
Funktionen für spezielle Datenfelder - Funktionen für spezielle Datenfelder wie JSON oder Kategoriebäume
Statistikfunktionen
abs(inputNumber)
Gibt den absoluten Wert eines Zahl zurück. Negative Werte werden automatisch in positive umgewandelt.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Zahl
Informationen: -
Beispiele:
abs(-2.95) = 2.95
abs(4.55) = 4.55
abs(-0) = 0
abs(-80.7) if “-80.7” is text = Evaluation error! → can be solved with abs(to_number(-80.7))
avg(inputNumber, inputNumber, n)
Berechnet den Durchschnitt der angegebenen Werte, arbeitet mit ganzzahligen und dezimalen Werten.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Zahl
Informationen: -
Beispiele:
avg(3, 7, 8, 6) = 6
avg(30,40,3.80,963.2) = 259.25
avg(3, “7”, 8, 6) = Evaluation error! → 7 is text in this case
min(inputNumber, inputNumber,…) / max(inputNumber, inputNumber,…)
Berechnet das Minimum (kleinste) oder Maximum (größte) der angegebenen Werte, arbeitet mit ganzzahligen und dezimalen Werten.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Zahl
Informationen: -
Beispiele:
max(3, 7, 8, 6) = 8
max(30,40,3.80,963.2) = 963.2
max(30,40,"3.80",963.2) = Evaluation error! → 3.80 is text in this case
min(3, 7, 8, 6) = 3
min(30,40,3.80,963.2) = 3.8
sum(inputNumber, inputNumber, inputNumber,…)
Gibt die Summe der angegebenen Werte zurück, funktioniert mit ganzzahligen und dezimalen Werten.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Zahl
Informationen: -
Beispiele:
sum(1,2,2,3,4,4,56,7) = 79
sum(30,40,3.80,963.2) = 1037
sum(30,40,"3.80",963.2) = Evaluation error! → 3.80 is text in this case
Rundungsfunktionen
ceil(inputNumber) / floor(inputNumber)
Gibt die angegebene Zahl aufgerundet auf die nächste ganze Zahl zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Zahl
Informationen:
Die inputNumber muss mit einem Punkt als Dezimaltrennzeichen angegeben werden. Ist die Zahl nur mit einem Komma verfügbar, musst Du to_number(inputNumber,".") verwenden, um das richtige Format zu erhalten.
Beispiele:
ceil(2.4) = 3
ceil(5.937653) = 6
ceil(4) = 4
ceil(-7.4) = -7
floor(2.4) = 2
floor(5.937653) = 5
floor(4) = 4
floor(-7.4) = -8
ceil(“5.3”)/floor(“5.3”) = Evaluation error! → 5.3 is text in this case
ceil(5,4)/floor(5,4) = Syntactic error → the number has to be writing with a dot as decimal separator
rand()
Gibt eine zufällige Zahl zwischen 0 und 1 zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Zahl
Informationen: -
Die zufällige Zahl beginnt immer mit 0 und hat 9 oder 10 Zeichen.
Example:
rand() = 0.5145997042
rand(5) = Syntactic error → there should be no value between the brackets
round(inputNumber, decimalPosition)
Rundet eine Zahl auf die angegebene Anzahl von Dezimalstellen oder eine ganze Zahl.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Zahl
Informationen:
inputNumber → die Zahl, die gerundet werden muss
decimalPosition → legt die Stellen nach dem Trennzeichen fest, auf die die eingegebene Zahl gerundet werden muss. Wird keine Dezimalposition angegeben, wird sie als 0 (volle Ganzzahl) angenommen.
Beispiele:
round(2.4) = 2 → standard which is defined as 0
round(3.589, 2) = 3.59
round(5.44,8) = 5.44 → the decimal digits after the separator will be maximum as much as the inputNumber
round(“3.589”, 2) = Evaluation error! → 3.589 is text in this case
round_mode(inputNumber, decimalPosition, “roundMode”)
Rundet die angegebene Zahl auf die angegebenen Dezimalstellen. Du kannst den Rundungsmodus auch selbst angeben.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Zahl
Informationen:
inputNumber → checked input
decimalPosition → decimal places
roundMode → defines how the inputNumber has to be rounded
UP
DOWN
HALF_UP (accounting up from xx,5)
HALF_DOWN (accounting down below xx,5)
FLOOR
CEILING
Der dritte Wert muss in " " stehen, um zu funktionieren. Du kannst in dieser Funktion Text als Zahl übergeben.
Beispiele:
round_mode(3.6736, 2, "UP") = 3.68
round_mode(3.6736, 2, "DOWN") = 3.67
round_mode(3.6756, 2, "HALF_UP") = 3.68
round_mode(3.6756, 2, "HALF_DOWN") = 3.67
round_mode(3.6736, 2, "FLOOR") = 3.67
round_mode(3.6736, 2, "CEILING") = 3.68
round_mode("3.6736", 2, "UP") = 3.68 → you can use text as inputNumber and it will work
round_mode(3.6736, 2, UP) = Evaluation error → there are missing “ for the roundMode
Kontrollfunktionen
case(inputSource, inputValue, n, default)
Prüft eine inputSource auf eine Liste von Werten und liefert für jeden Wert eine individuelle Ausgabe. Es kann auch ein Standardwert definiert werden, wenn keine der vorangegangenen Prüfungen eine Übereinstimmung ergibt.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl oder Text
Output: Zahl oder Text
Informationen:
inputSource → the source to be searched into
inputValue - n → values which has to be checked for availability in the inputSource, has to be a pair of 2 for every check (input and output)
default → if none of the inputValues are available
Der Standardwert ist nicht obligatorisch, wird aber empfohlen. Du kannst auch Datenfelder vergleichen oder für die Ausgabe verwenden. Für eine bessere Übersicht speziell bei vielen inputValues empfiehlt es sich, dies so zu schreiben:
case(inputSource,
inputValue1, output1,
inputValue2, output2,
default)
Beispiele:
inputSource = “Testtext”
case(inputSource, “Testtext”, “Output 1”, “Testtext2”, “Output 2”) = “Output 1”
inputSource = 12345
case(inputSource, 49054, “number 1”, 12345, “number 2”) = “number 2”
inputSource = “Unknown”, inputSource2 = “NoValueAvailable”
case(inputSource, “Test1”, “Output1”, “Test2”, “Output2”, inputSource2) = “NoValueAvailable”
inputSource = “Unknown”
case(inputSource, “Test1”, “Output1”, “Test2”, “Output2”) = Evaluation error → no default defined
if(condition, trueValue, falseValue)
If(...) kann verwendet werden, wenn eine Prüfung komplexer oder verschachtelt ist. Dann kann man sie mit der Funktion case(...) prüfen. Die Prüfung wird immer TRUE oder FALSE zurückgeben.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: -
Output: Zahl, Text oder komplexe Formel
Informationen:
condition → die Bedingung, die als TRUE oder FALSE ausgewertet werden muss
trueValue → der Wert oder die Formel, der/die zurückgegeben wird, wenn die Bedingung als TRUE ausgewertet wird
falseValue → der Wert oder die Formel, der/die zurückgegeben wird, wenn die Bedingung als FALSE ausgewertet wird
Die if(...)-Funktion kann beliebig verschachtelt werden, aber man muss die Struktur überwachen und darauf achten, dass jedes ( )-Paar korrekt geschlossen wird.
Für eine bessere Übersichtlichkeit, insbesondere bei vielen verschachtelten if-Funktionen, empfiehlt es sich, diese wie folgt zu schreiben:
if(condition1,
trueValue1,
if(condition2,
trueValue2,
falseValue
)
)
Für die Bedingung kannst Du einfache Operatoren wie ==, !=, >, < , >=, <= oder komplexe Formeln verwenden.
Beispiele:
testvalue = 7
if(testvalue >= 3, “true”, “false”) = “true”
testvalue = “testtext”
if(is_text(testvalue), “is_text”, “is_notext”) = “is_text”
testvalue = 12345
if(is_text(testvalue), “is_text”, “is_notext”) = “is_notext”
testvalue = 12345, test2 = “Testtext”
if(is_text(testvalue) AND is_text(test2), “is_text”, “is_notext”) = “is_notext”
testvalue = 5, testvalue2 = 13, testvalue3 = 19485
if(testvalue < 10, if(testvalue2 >=12, testvalue3, “wrong”), “wrong”) = 19485
testvalue = 5, testvalue2 = 13, testvalue3 = 19485
if(testvalue < 10, if(testvalue2 >=12, testvalue3, “wrong”) = Syntactic error → there is one falseValue and a bracket missing at the end
switch(positionInList, inputList) / switch_default(positionInList, inputList, default)
Ein Wert kann geprüft werden und ergibt eine Ausgabe, die von der Position in der Funktion angegebenen Liste abhängt.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Zahl oder Text
Informationen:
positionInList → Position in der angegebenen Liste
inputList → die zu durchsuchende Liste in
default (only for switch_default) → wenn die PositionInList höher ist als die Anzahl in der angegebenen Liste, kann ein Standardwert angegeben werden, der stattdessen ausgegeben wird
switch_default(...) ist empfehlenswert, da es weniger Fehler produziert!
Beispiele:
switch(5, 1, 8, 10, “Test”, “Text”, 1000) = “Text”
switch(1000, 1, 8, 10, “Test”, “Text”, 1000) = Evaluation error → lesser then 1000 elements in the list
switch_default(1000, 1, 8, 10, “Test”, “Text”, 1000, “toShortList”) = “toShortList”
Funktionen für Text
base64_encode(inputText, coding) / base64_decode(inputText, coding)
Kodierung oder Dekodierung eines bestimmten Textes mit der gewählten Kodierung.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text (Verschlüsseln oder Entschlüssen)
Informationen:
inputText → the text to be encoded or decoded
coding (OPTIONAL) → selected coding, default is UTF8
Unterstützt werden derzeit die Kodierungen UTF8 und ANSI.
Beispiele:
base64_encode("This is a test", "UTF-8") = “VGhpcyBpcyBhIHRlc3Q=”
base64_decode("VGhpcyBpcyBhIHRlc3Q=", "UTF-8") = “This is a test”
base64_decode("VGhpcyBpcyBhIHRlc3Q=") = “This is a test” → coding is optional
base64_encode("This is a test", UTF-8) = Evaluation error → coding is optional, but if a value is given, the syntax has to be correct (in this case “ “ are missing)
capitalize(inputText, wordToLowercase)
Wandelt den ersten Buchstaben eines jeden Wortes in Großbuchstaben um.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text, wahr / falsch
Output: Text
Informationen:
inputText → the text to be transformed
wordToLowercase (OPTIONAL) → can be “true” of “false”, if “true” is selected for all other letters “lowercase” is used (false is default)
Beispiele:
capitalize("This is expensive") = "This Is Expensive"
capitalize("THIS IS EXPENSIVE", true) = "This Is Expensive"
capitalize("THIS IS EXPENSIVE", false) = "THIS IS EXPENSIVE”
capitalize("12345FFFF", true) = “12345ffff” → in this case a number is the first letter which is not transformed
capitalize("TEST", TRUE) = Evaluation error → true/false has to be in lowercase
case_in_string(inputText, searchText, trueValue, falseValue)
Überprüft einen Text, ob ein anderer Text gefunden werden kann und gibt je nach Ergebnis eine Ausgabe.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
inputText → the text to be searched into
searchText → text what you want to search for in inputText
trueValue → output, if the search was successful
falseValue → output, if the search was not successful
Beispiele:
case_in_string("This is a formula test", "test", "yes", "no") = "yes"
case_in_string("This is a formula test", "cooking", "yes", "no") = “no”
case_in_string("This is a formula test", "test", "yes", no) = Syntactic error → missing “ “ for falseValue
case_in_string("This is a formula test", "test", "yes", "no",”maybe”) = Syntactic error → to many parameters given
case_in_string_concat(inputText, searchText, trueValue, n, separator)
Prüft auf mehrere Texte im Basistext und fasst die gefundenen Ergebnisse zusammen.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
inputText → the text to be searched into
searchText - n → checked for texts in the inputText
trueValue → if the result for searchText is true, this will be concated with the given “separator”
n → more searchText/trueValue combination to look for in the inputText
separator → given separator which is used to separate each single text in the concatination of all found texts
Für jeden searchText muss ein Wertepaar angegeben werden: gesuchter Text, Wert, wenn der Text gefunden wird. Wenn nur ein Wert angegeben wird, führt dies zu einem Fehler.
Es gibt keinen falseValue, der definiert werden kann!
Beispiele:
case_in_string_concat(“This is a test text”,”This”,”You”,”is”,”are”,”a test text”,”great”,”|”) = “You|are|great”
case_in_string_concat(“This is a test text”,”This”,”You”,”are”,”a test text”,”great”,”|”) = Syntactic error → is one variable missing it comes to an error, it works if a pair of variables are deleted
clean_html(inputText)
Bereinigt einen Text von allen HTML/XML-Tags.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
Alle Informationen, die zwischen < und > geschrieben werden, werden gelöscht, unabhängig von den Informationen, die darin enthalten sind! Andere strukturelle Sprachen wie JSON sind davon nicht betroffen.
Beispiele:
clean_html("<html><body>Hello World</body></html>") = Hello World
clean_html('<this><is><no><html>Hello World') = Hello World
clean_html(<html><body>Hello World</body></html>) = Syntactic error → missing “ “ for inputText
convert_currency(inputNumber, inputBasecurrency, inputTargetcurrency)
Konvertiert eine bestimmte Währung in eine andere mit dem Tageskurs.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl, Text in ISO norm
Output: Zahl
Informationenen:
inputNumber → number which has to be converted
inputBasecurrency → currency in which the base value is given
inputTargetcurrency → currency you want to convert to
Es können alle aktuellen ISO-Währungscodes verwendet werden. Für Beispiele kannst Du hier nachsehen ISO 4217 . Der verwendete Kurs kann mit "currency_rate(...)" überprüft werden.
Beispiele:
convert_currency(2.5, "EUR", "JPY") = 354.13
convert_currency(2.5, "EURO", "YEN") = Syntactic error → please use an ISO conform currency code
convert_currency(2,5, "EUR", "JPY") = Syntactic error → the given value has to be with a dot as decimal separator
count(inputValue, valueToCount) / count_regexp(inputValue, valueToCount)
Zählt die Häufigkeit eines einzelnen Buchstabens oder Wortes.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text oder regulärer Ausdruck
Output: Zahl
Informationen:
inputValue → the value to be searched into
valueToCount → character or word which has to be counted or a regular expression
Für ein einzelnes Zeichen oder Wort verwende bitte "count(...)" und für reguläre Ausdrücke oder ganze Sätze "count_regexp(..)"
Beispiele:
count("This is only a sample text","i") = 2
count(“This is only a sample text”,”u”) = 0
count("This is only a sample text","") = 0 → because nothing is giving it can be checked for
count("This is only a sample text","only") = 1 → because the check is for the word “only” not the letters
count_regexp("This is only a sample text","") = 27 → all letters are counted including one of the “
count("This is only a sample text") = Syntactic error → the second variable is missing
currency_rate(inputBasecurrency, inputTargetcurrency)
Zeigt den Kurs zwischen zwei Währungen an.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text in ISO norm
Output: Zahl
Informationen:
inputBasecurrency → currency which is the base
inputTargetcurrency → currency you want to convert to
Es können alle aktuellen ISO-Währungscodes verwendet werden. Für Beispiele kannst Du hier nachsehen ISO 4217 . Kann überprüft werden, um den Kurs zu verstehen, der in "convert_currency(...)" verwendet wird.
Beispiele:
currency_rate("EUR", "JPY") = 141.65
currency_rate("EURO", "YEN") = Syntactic error → please use an ISO conform currency code
escape_html(inputText)
Ersetzt Sonderzeichen und Umlaute durch das HTML-Äquivalent.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text mit Sonderzeichen oder Umlauten
Output: Text mit HTML-Tags
Informationen: -
Beispiele:
escape_html("verschlüsseln") = “verschlüsseln”
escape_html("üöäß&") = “üöäß&”
escape_html(“?!”) = “?!” → not all special characters are replaced
escape_html(verschlüsseln) = Syntactic error → missing “
in_list(searchText, inputList, valueSeparator)
Prüft, ob ein Wert in einer angegebenen Liste enthalten ist.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: wahr / falsch
Informationen:
searchText→ the text to be searched into
inputList → list of values - divided by the “separator” - where searchText has to be searched for
valueSeparator → separator which divides the single entries of the list, can be , ; or :
Beispiele:
in_list(“text”,”test;text”,”;”) = true → the search “text” is in the list
in_list(“somethingelse”,”test:text”,”:”) = false → the search “somethingelse” is not in the list
in_list(“text”,”test|text”,”|”) = false → the wrong separator is selected (the search does not work properly)
in_list(test,”test,text”,”,”) = Syntactic error → missing “ “ for searchText
in_string(inputText, searchText)
Prüft, ob ein Text in einem anderen Text enthalten ist.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: wahr / falsch
Informationen:
inputText → the textto be searched into
searchText → the value which has to be checked for, can be partial
Beispiele:
in_string("price with deliverycosts", "delivery") = true → searchText is in the provided inputText
in_string("price with deliverycosts", "co") = true
in_string("price with deliverycosts", "items") = false → searchText is not in the provided inputText
in_string(this is the provided text,”provided”) = Syntactic error → missing “ “ in the inputText
in_string_regexp(inputText, searchText)
Prüft, ob ein regulärer Ausdruck in einem anderen Text vorkommt.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text oder regulärer Ausdruck
Output: wahr / falsch
Informationen:
inputText → the text to be searched into
searchText → the value which has to be checked for, can be partial
Beispiele
in_string("price with deliverycosts", "price|costs") = true → both searchTexts are in the provided inputText
in_string("price with deliverycosts", "co") = true
in_string("price with deliverycosts", "u|a|ö|ä|ü") = false → none of the searchTexts are in the provided inputText
in_string(this is the provided text,”provided”) = Syntactic error → missing “ “ in the inputText
is_empty(inputValue)
Prüft, ob ein gegebener Wert leer ist oder nicht, und gibt true oder false zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: -
Output: wahr / falsch
Informationen:
Diese Formel funktioniert nur für den Datentyp "Text". Wenn ein Datenfeld als "Zahl" konfiguriert ist, ist das Ergebnis in jedem Fall "falsch", da ein Zahlen-Datenfeld 0 ist, wenn es leer ist.
Beispiele:
datafield1 = “test”, datafield2 = EMPTY, datafield3 = 0 (datatyp number)
is_empty(datafield1) = false
is_empty(datafield2) = true
is_empty(datafield3) = false → because the datatyp “number” provides a number or 0 and so the datafield will be never empty
is_empty(“test”) = false → a given text can be checked without a datafield
is_empty(test) = Evaluation error → the formula tried to check the datafield “test” which is not defined
is_number(inputValue)
Prüft einen gegebenen Wert, ob er eine Zahl ist oder nicht, und gibt ein true oder false zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: -
Output: wahr / falsch
Informationen:
Handelt es sich bei inputValue um eine Zahl, kann sie als Zahl oder Text angegeben werden. Wenn inputValue ein Text ist, muss er als Text angegeben werden.
Beispiele:
is_number(“5”) = true
is_number(5) = true → the inputValue can be a text or a number
is_number(“test Text”) = false
is_number(test text) = Evaluation error → if a text is given, it has to be in “ “
left(inputText, numberOfCharacters)
Gibt eine bestimmte Anzahl von Zeichen zurück, beginnend von links nach rechts.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text, Zahl
Output: Text
Informationen:
inputText → the text to be searched into
numberOfCharacters → Characters which have to be returned, starting from left. The first digit beginns with 1.
Bei numberOfCharacters ist es möglich, eine Zahl anzugeben, die größer ist als der Ausgangstext. Dann erhält man den gesamten Text als Ergebnis. Negative Zahlen sind nicht erlaubt, dies führt zu einem Fehler.
Beispiele:
left("This is a test text", 5) = “This”
left("This is a test text", 5000) = “This is a test text” → the number is larger then the text, so the whole text will be returned
left("This is a test text", 0) = ““ → The number indicates that zero digits have to be returned.
left("This is a test text", -5) = Evaluation error → negativ numbers are not allowed.
len(inputText)
Prüft, wie viele Zeichen der angegebene Text hat.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Zahl
Informationen:
Die Ausgabe liefert nur eine ganze Zahl der gezählten Zeichen (einschließlich Leerzeichen), keine weiteren Informationen. Das Ergebnis kann in jeder Art von mathematischen Formeln verwendet werden.
Beispiele:
len("Article") = 7
len(" ") = 1
len(" Article ") = 9
len(Text) = Evaluation error → missing “ “ for the inputText
lookup(LOOKUPinformation, uniqueKey)
Hinzufügen von Informationen aus einem anderen Import-Feed mit Hilfe eines eindeutigen Schlüssels.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: -
Output: -
Informationen:
LOOKUPinformation → das Datenfeld aus dem separaten Importfeed, das zurückgegeben werden soll. Das Datenfeld in der Formel muss mit "LOOKUP" am Anfang benannt werden
uniqueKey → eine eindeutige Kennung, die zur Identifizierung der Informationen im Zusatzfeed verwendet wird
Der zusätzliche Feed muss keine neuen Artikel erstellen, um die Informationen zu nutzen. Dies ist sehr nützlich für Fälle, in denen der Identifikator des zusätzlichen Feeds nicht mit dem Masterfeed übereinstimmt (z.B. ein Kategoriebaum).
Der uniqueKey muss als Datenfeld in der Formel definiert werden und kann nicht direkt in die Funktion geschrieben werden.
Wir empfehlen, Deinen Kundenbetreuer für detailliertere Informationen zu dieser Funktion zu fragen.
Beispiele:
LOOKUPpath = “10010 / samplecategory”, category = “10010”
lookup(LOOKUPpath,category) = “samplecategory”
lookup(LOOKUPpath,”10010”) = Syntactic error → the uniqueKey is not defined in a datafield
lookup(path, category) = Evaluation error → the datafield of the additional feed does not start with LOOKUP
lower(inputText)
Konvertiert den angegebenen Text in Kleinbuchstaben und gibt ihn zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen: -
Beispiele:
lower(“Test Text for Converting”) = “test text for converting”
lower(“TEXT IN CAPITAL LETTERS”) = “text in capital letters”
lower(Test Text) = Syntactic error → missing “ “ in the inputText
md5(inputValue)
Erzeugt einen md5-Hash eines gegebenen Wertes.
settings and samples
settings and samples
Input: Zahl, Text
Output: md5-hash
Informationen: -
Beispiele:
md5("sample_value") = “87e7c049f8c6caa33ec94a46c3e904b0”
md5(“5”) = “e4da3b7fbbce2345d7772b0674a318d5”
md5(5) = Evaluation error → missing “ “ for the inputValue
mid(inputText, startPosition, returnDigits)
Gibt eine Anzahl von Zeichen eines Textes zurück, beginnend mit einer bestimmten Position.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text, Zahl
Output: Text
Informationen:
inputText → text from which some characters must be returned
startPosition → indicates the starting position in the inputText where to start from
returnDigits → the amount of digits which need to be returned starting from the startPosition
Beachte, dass die erste Ziffer mit der Position 0 beginnt und alle Leerzeichen mitgezählt werden müssen.
Beispiele:
mid("This is a test text", 0, 5) = “This ”
mid("This is a test text", 9, 7) = “ test t”
mid(This is a test text, 3, 6) = Syntactical error → missing “ “ at inputText
mid("This is a test text", 1000, 5) = Evalutation error → the start position is out of range in the inputText
remove_duplicates(inputText,separator)
Entfernt doppelte Wörter aus einem Text.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
inputText → der Text, der auf Duplikate geprüft werden soll
separator (OPTIONAL) → ändert die Logik der Formel und entfernt alle doppelten Zeichen und gibt nur die eindeutigen Zeichen zurück, die durch das Trennzeichen getrennt sind. Als Trennzeichen kann nur " | " verwenden. Mit einem falschen Trennzeichen funktioniert die Formel nicht.
Achte darauf, die richtige Version der Formel zu verwenden. Mit dem Trennzeichen " | " werden doppelte Zeichen entfernt, ohne das Trennzeichen werden nur doppelte Wörter entfernt.
Beispiele:
remove_duplicates("This is a test test text text") = “This is a test text”
remove_duplicates("This is a test test test text text text test test test test","|") = “T|h|i|s| |a|t|e|x”
remove_duplicates("This is a test test text text",”;”) = “This is a test test text text" → because of a wrong separator, the formula does not work
remove_duplicates(This is a test test text text) = Syntactical error → missing “ “ at inputText
remove_non_printable_characters(inputText)
Entfernt nicht sichtbare Sonderzeichen oder Symbole wie Emojis aus einem Text.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
Besonders bei automatischen Funktionen wie dem Anlegen oder Zuordnen von Kategorien oder Standarddatenfeldern für Marktplätze ist es notwendig, diese Zeichen zu entfernen, um Fehler zu vermeiden!
Beispiele:
remove_non_printable_characters(“This is a text with ⭐ and 🎮”) = “This is a text with and ”
replace(inputText, oldText, newText)
Sucht nach einem Text und ersetzt ihn durch einen anderen.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
inputText → the text to be searched into
oldText → text which is going to be replaced
newText → new text to be added
Auch Sonderzeichen können ersetzt werden. In einigen Fällen ist es empfehlenswert, ' ' anstelle von " " zu verwenden, insbesondere wenn das Sonderzeichen " ersetzt werden soll oder der inputText dieses Zeichen enthält.
Beispiele:
replace("the article is refurbished", "refurbished", "new") = "the article is new"
replace(“123456”,”6”,”7777”) = “123457777”
replace("This text will be very good","test","text") = the inputText won’t be changed, because the oldText is not in it
replace(“This text will be “very” good”,”good”,”bad”) = Syntactical error → in the inputText is a “ so you have to use ' ' in the formula to get the correct result
replace_regexp(inputText, regexp, replaceText)
Sucht nach einem regulären Ausdruck (regexp) im Eingabetext und ersetzt ihn durch einen anderen Text, falls gefunden.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
inputText → the text to be searched into
regexp → regular expression to be searched for
replaceText → the text which replaces the regular expression
Beispiel:
replace_regexp("a//b", "[^a-z]+", "_") = "a__b"
replace_regexp("This is a regular expression with a number 123","[a-z1-9]","") = "T" → the regular expression selects all letters and numbers, with addiontla A-Z the T would be deleted too
replace_regexp(a regular expression,"[a-z1-9]","") = Syntactical error → missing “ “ at inputText
replace_regexp_list(inputText,searchText,replaceText)
Sucht nach verschiedenen Texten und wenn eine Suche erfolgreich ist, wird dieser Text durch einen anderen ersetzt.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
inputText → the text to be searched into
searchText → the text which has to be replaced, if in the inputText (can be 1-n texts)
replaceText → the text which replaces the searchText, if it is found (can be 1-n texts)
searchText und replaceText müssen ein Paar sein. Wenn Du eines der beiden Daten löschen willst, musst Du beide löschen. Das Löschen von nur einer der beiden Daten führt zu einem Fehler.
Beispiele:
replace_regexp_list("This is a test text","This","That","is","was","text","block") = “That was a test block”
replace_regexp_list("This is a test text","no","That","number","was","there","block") = "This is a test text" → the inputText is unchanged, because the searchTexts are not found
replace_regexp_list("This is a test text") = Syntactical error → no searchText or replaceText is given or there is one data of the pair missing
right(inputText, numberOfCharacters)
Gibt eine bestimmte Anzahl von Zeichen zurück, beginnend von rechts nach links.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text, Zahl
Output: Text
Informationen:
inputText → the text to be searched into
numberOfCharacters → Characters which have to be returned, starting from left. The first digit beginns with 1.
Bei numberOfCharacters ist es möglich, eine Zahl anzugeben, die größer ist als der Ausgangstext. Dann erhält man den gesamten Text als Ergebnis. Negative Zahlen sind nicht erlaubt, dies führt zu einem Fehler.
Beispiele:
right("This is a test text", 5) = “ text”
right("This is a test text", 5000) = “This is a test text” → the number is larger then the text, so the whole text will be returned
right("This is a test text", 0) = ““ → The number indicates that zero digits have to be returned.
right("This is a test text", -5) = Evaluation error → negativ numbers are not allowed.
search(inputText, searchText, occurrence)
Gibt die erste gefundene Position eines gesuchten Zeichens oder Textes in einer gegebenen Quelle zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Zahl
Informationen:
inputText → the text to be searched into
searchText → The character or text that has to be searched for in inputText
occurrence (OPTIONAL) → Optional specification of which occurrence should be considered in the case of multiple occurrences (1-#occurrences).
Alle Suchformeln können kombiniert werden und können das Ergebnis einer übergeordneten Suche verwenden (verschachtelte Suche).
Beispiele:
search(“This is a sample text”, “a”) = 8
search("This is a sample text", "text") = 17 → returns the position of the first character of the search
search(This is a sample text, "text") = Syntactical error → missing “ “ somewhere in the formula
search(“This is a sample text”, “a”, 2) = 11 → index of second “a” in inputText
search_and_cut(inputText, searchText)
Sucht nach einem Text in einer Quelle und gibt alles bis zur Suchposition zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
inputText → the text to be searched into
searchText → the text which has to be searched for in the inputText, if the search found something, the inputText will be returned until the position where the search was successful
Alle Suchformeln können kombiniert werden und können das Ergebnis einer übergeordneten Suche verwenden (verschachtelte Suche).
Beispiele:
search_and_cut("This is a test text","is a") = “This “
search_and_cut("This is a test text","is") = “Th” → the search takes the first found source
search_and_cut("This is a test text","not") = "This is a test text" → returns the full inputText because the searched word is not found
search_and_cut("This is a test text",is a) = Syntactical error → missing “ “ somewhere in the formula
search_and_cut_back(inputText, searchText) / search_and_cut_back_v2(inputText, searchText)
Sucht nach einem Text in einer Quelle und gibt alles ab der Suchposition zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
inputText → the text to be searched into
searchText → the text which has to be searched for in the inputText, if the search found something, the inputText will be returned from the first position of the first character where the search was successful
Alle Suchformeln können kombiniert werden und können das Ergebnis einer übergeordneten Suche verwenden (verschachtelte Suche).
Beispiele:
search_and_cut_back("This is a test text","is a") = “s a test text” → the return counts from the first character of the successful search (in this case the “i”)
search_and_cut_back("This is a test text"," test") = “test text”
search_and_cut_back("This is a test text","not") = "This is a test text" → returns the full inputText because the searched word is not found
split(inputText, separator, outputPosition)
Teilt einen Text mit einem Trennzeichen in ein "array" und gibt die gewählte Position im "array" zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen:
inputText → the text to be searched into, 1-n single texts divided by the separator
separator → separator which divides each single text block in inputText
outputPosition → returns the position between the separator, starts with 1
Als Trennzeichen kann jedes beliebige Zeichen verwendet werden. Aber es sollte klar sein, dass dieses Zeichen nicht Teil des inputTextes ist, der zurückgegeben werden muss.
Beispiele:
split("Test|Text|for|this|formula","|",2) = “Text”
split("Test|Text|for|this|formula",";",2) = EMPTY → the wrong separator is selected
split("Test|Text|for|this|formula","|",12) = EMPTY → the outputPosition is out of range (5 is the maximum for this inputText)
split("Test|Text|for|this|formula",|,2) = Syntactical error → missing “ “ somewhere in the formula
substr(inputText, startPosition, endPosition)
Gibt einen Teil eines Textes zwischen der angegebenen Start- und Endposition zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text, Zahl
Output: Text
Informationen:
inputText → the text to be searched into
startPosition → indicates the start position of the subtext, starts with 0
endPosition → indicates the endposition and the characters which has to be returned
startPosition und endPosition können mit anderen Funktionen wie search(...) kombiniert werden, wenn die Position nicht in allen Fällen gleich oder nicht bekannt ist.
Beispiele:
substr("This is a test text", 5, 17) = “is a test te”
substr("This is a test text", 0, 5) = “This “
substr("This is a test text", 1000, 5) = Evaluation error → if the startPosition is before the endPosition or one of both positions is out of range of the inputText
substr(This is a test text, 0, 5) = Syntactical error → missing “ “ somewhere in the formla
to_currency(inputNumber, decimalSeparator) / to_currency(inputNumber, decimalSeparator, currencyISO, currencySymbol)
Wandelt eine Zahl in eine Währung mit einem gewählten Dezimaltrennzeichen um. Optional kann ein Währungssymbol hinzugefügt werden.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: -
Output: -
Informationen:
inputNumber → a given number which has to be converted to a currency, can be a number or text
decimalSeparator → decimal separator which has to be used for the currency (has to be written in “ “)
currencyISO (OPTIONAL) → if used, it adds a currency in ISO3 to the number
currencySymbol (OPTIONAL) → if used, it has to be true or false and if set to true a currency symbol is available for the currency which is selected for currencyISO, then a symbol (special character) instead of the ISO3 code is used
currencyISO und currencySymbol müssen zusammen verwendet werden. Wenn eine Option gewählt wird, muss auch die andere eingestellt werden.
Beispiele:
to_currency(4.5, “,”) = “4,50”
to_currency(“4.5”, “.”, “EUR”, false) = “EUR 4.50”
to_currency(“4.5”, “.”, “EUR”, true) = “€ 4.50”
to_currency(4.5, . , EUR, true) = Syntactical error → missing “ “ somewhere in the formula
to_number(inputText, decimalSeparator)
Wandelt einen gegebenen Text in eine Zahl um und löscht alle Zeichen, die keine Zahl sind.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text, wahr / falsch
Output: Zahl
Informationen:
inputText → a text which has to be converted to a number
deleteTextOption → set this on "true" if all text except of the numbers has to be deleted first, "false" is the default setting
Beispiele:
to_number("5") = 5 → as number
to_number("5,6789 is a decimal number", true) = 5,6789 → as number
to_number("5 is a number and 6 too", true) = 56
to_number("5 is a number and 6 too") = Evaluation error → the deleteTextOption has to be true in this case, false (default) will lead to this error
to_number(5 is a number and 6 too, "true") = Syntactical error → missing “ “ somewhere in the formula
to_text(inputNumber) / str(inputNumber)
Wandelt eine gegebene Zahl in einen Text um.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Zahl
Output: Text
Informationen:
Diese Funktion funktioniert mit ganzen Zahlen und Dezimalzahlen, aber nur mit einem Punkt als Dezimaltrennzeichen, nicht mit einem Komma.
Alle Funktionen, die nur mit einem Text arbeiten, können nach der Transformation verwendet werden.
Beispiele:
to_text(12345) = “12345” → as text
to_text(5.6789) = “5.6789” → as text
to_text(6,8467) = Syntactical error → wrong decimal separator
to_text(“6,8467”) = “6,8467” → if as inputNumber a text is given, it will be returned 1:1
trim(inputText)
Entfernt führende und nachgestellte Leerzeichen aus dem angegebenen Text.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen: -
Beispiele:
trim(“ Test Text “) = “Test Text”
trim(“Test Text “) = “Test Text”
trim(" Test Text ") = “Test Text” → only leading and trailing spaces will be removed
trim( Test Text ) = Syntactical error → missing “ “ in the formula
unescape_html(inputText)
HTML-Einträge in Sonderzeichen oder Umlaute übersetzen.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text mit HTML-Tags
Output: Text mit Sonderzeichen und Umlauten
Informationen:
Nicht alle Sonderzeichen sind übersetzbar.
Beispiele:
unescape_html("verschlüsseln") → unescape_html("verschlüsseln")
unescape_html("üöäß&") → unescape_html("üöäß&")
unescape_html(verschlüsseln) → Syntactic error → missing “
upper(inputText)
Konvertiert einen gegebenen Text in Großbuchstaben und gibt ihn zurück.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationen: -
Beispiele:
upper(“this is a test text”) = “THIS IS A TEST TEXT”
upper(“1234567test”) = “1234567TEST” → only letters will be converted
upper(1234567test) = Evaluation error → inputText has to be a text
url_encode(inputText)
Konvertiert einen Text in einen URL-kodierten Text.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text in URL-Kodierung
Informationen: -
Beispiele:
url_encode("http://www.channelpilot.com ") = "http%3A%2F%2Fwww.channelpilot.com"
url_encode(http://www.channelpilot.com) = Syntactic error → missing “
validate_url(inputText)
Überprüft eine URL, ob sie gültig ist oder nicht. Gibt keine detaillierten Informationen über den Inhalt.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: wahr / falsch
Informationen:
The URL which has to be checked has to be complete. A partial address will be shown as “false”. You have to add the whole address including the http(s)://www.
Beispiele:
validate_url("https://www.google.de") = true
validate_url(“www.google.de”) = false
validate_url(https://www.google.de) = Syntactic error → missing “ “ for the URL
Datumsfunktionen
compareDates(inputDate1, inputDate2, format)
Zwei Daten können mit einem benutzerdefinierten Datumsformat verglichen werden. Beide Daten müssen gültig sein.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: -
Output: 1, 0, -1
Informationen:
inputDate1 → first date to compare
inputDate2 → second date to compare
format → format which is used for both dates (has to be the same)
Gibt nur die Information, welches der beiden Dokumente älter/neuer ist oder ob die Daten übereinstimmen.
Beispiele:
compareDates("2021-10-22 13:30", "2022-10-22 13:30", "yyyy-MM-dd HH:mm") = -1 → inputDate2 is newer then inputDate1
compareDates("2022-10-22 13:30", "2021-10-22 13:30", "yyyy-MM-dd HH:mm") = 1 → inputDate1 is newer then inputDate2
compareDates("2021-10-22 13:30", "2021-10-22 13:30", "yyyy-MM-dd HH:mm") = 0 → both dates are the same
compareDates("2021-10-22", "2022-10-22", "yyyy-MM-dd HH:mm") = Not a valid date format in one of the provides dates
compareDates("2021-10-22 13:30", "2022-10-22 13:30", "yyyy-MM-dd") = -1 → a date can have more information then defined by the format but should not have less
date(format)
Gibt das aktuelle Datum in dem definierten Format an.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text im Format aus der unten stehenden Liste
Output: Text als Datum im definierten Format
Informationen:
Nicht jedes Datumsformat wird unterstützt. Die folgenden Varianten können verwendet werden:
"dd.MM.yyyy" (european date) -> "30.10.2013"
"dd.MM.yyyy HH:mm" (european date with time of the day) -> "30.10.2013 16:48"
"yyyy-MM-dd" (date) -> "2013-10-30"
"yyyy-MM-dd HH:mm" (date with time of the day) -> "2013-10-30 16:48"
"HH:mm" (time of the day) -> "16:48"
"EEEE" (day of the week as text) -> "Donnerstag"
"e" (day of the week as number) -> 4
"d" (day of the month) -> 30
"D" (day of the year) -> 303
"ww" (calender week as number) -> 43
"M" (month as number) -> 10
"MMMM" (month as text) -> "Oktober"
"yyyy" (year) -> 2013
"t" (timestamp) -> 1383087600
Beispiele:
date("yyyy-MM-dd HH:mm") = 2023-01-17 10:59
date(“yyyy-MM-dd”) = 2023-01-17
date() = Syntactic error → the format is missing
date(yyyy-MM-dd HH:mm) = Syntactic error → the format is not written in “ “
date(inputDate, currentFormat, newFormat)
Ein gegebenes Datum von einem Format in ein anderes umwandeln.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text als Datum
Output: Text als Datum
Informationen:
inputDate → date to transform
currentFormat → original format in which the date is provided
newFormat → format the date has to be transformed
date(a) and date(a,b,c) can be combined, but it is not useful
date(date("yyyy-MM-dd HH:mm"),"yyyy-MM-dd HH:mm","dd.MM.yyyy HH:mm") -> 17.01.2023 11:23Nicht jedes Datumsformat wird unterstützt. Für Varianten siehe detaillierte Informationen in date(format)!
Beispiele:
date(“2023-01-17 10:59”,”yyyy-MM-dd HH:mm”,”yyyy-MM-dd”) = 2023-01-17
date(“17.01.2023 10:59”,”dd.MM.yyyy HH:mm”,”HH:mm”) = 10:59
date(“2023-01-17 10:59”,”yyyy-MM-dd HH:mm”,”EEEE”) = Tuesday
date(2023-01-17 10:59,”dd.MM.yyyy”,”HH:mm”) = Syntactic error → somewhere is a “ “ missing
Funktionen für spezielle Datenfelder
category(separator, inputCategory, n)
Kombiniert mehrere Informationen zu einem Kategoriebaum mit einem definierten Trennzeichen.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text, Zahl
Output: Zusammengesetzter Kategoriebaum aus den gelieferten Daten
Informationen:
separator → separator which is used between the single steps of the categoryhierarchy
inputCategory - n → provided information to create a categorytree, the hierarchy is created from left (hightest) to right (lowest)
Es gibt nur einige Zeichen, die als Trennzeichen (a) zulässig sind.
Dies sind z.B.: > / - :
Beispiele:
category(">", "Men", "Shoes", "Sportshoes") = "Men > Shoes > Sportshoes"
category("/","Top","1","2","6","Bottom") = "Top / 1 / 2 / 6 / Bottom"
category("/",Top,"1","2","6","Bottom") = Evaluation error → Top is not valid because of the missing “ “
category("|","Top","1","2","6","Bottom") = Evaluation error → separator is not allowed
decrypt(usedKey, usedMethod, inputValue)
Entschlüsselung eines Wertes mit der verwendeten Methode und einem definierten Schlüssel.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: 3 Parameter
Output: Text
Informationen:
usedKey → key which was used to encrypt a text
usedMethod → method which defines how it is encrypted
inputValue → text as HEX which has to be decrypted
Im Moment sind nur für die Methode "Blowfish" brauchbare Informationen verfügbar. Die anderen angebotenen Methoden müssen noch getestet werden: DES, AES, DESede (3DES, TrippleDES)
Beispiele:
decrypt("Testkey", "Blowfish", "22F75ED0390C3B1B88C601A6D95E2E90929EB06713883F1A") = Das is ein Testtext
decrypt(Testkey, "Blowfish", "22F75ED0390C3B1B88C601A6D95E2E90929EB06713883F1A") = Evaluation error → if there is a “ missing
decrypt("Testkey", "Blowfish", "Falscher HEX-Key") = will cause a generall formular error which makes the formula unusable and causes errors in the logs
encrypt(usedKey, usedMethod, inputValue)
Verschlüsseln Sie einen Text mit einer Methode und einem bestimmten Schlüssel.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: 3 Parameter
Output: Text als HEX-Wert
Informationen:
usedKey → Key which is used to decrypt
usedMethod → Method which defines how to encrypt
inputValue → text which has to be encrypted
Im Moment sind nur für die Methode "Blowfish" brauchbare Informationen verfügbar. Die anderen angebotenen Methoden müssen noch getestet werden: DES, AES, DESede (3DES, TrippleDES)
Beispiele:
encrypt("Testkey", "Blowfish", "Das is ein Testtext") = 22F75ED0390C3B1B88C601A6D95E2E90929EB06713883F1A
encrypt(Testkey, "Blowfish", "Das is ein Testtext") = Evaluation error → if there is a “ “ missing
extract_value(inputJSON, JSONpointer)
Kann verwendet werden, um einen bestimmten Wert aus einem JSON-Datenfeld zu extrahieren (einfache Struktur).
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text als JSON {““:””}
Output: Text aus dem selektierten Wert
Informationen:
inputJSON → data field or text which has a simple JSON-structure {“element”:”value”,”element2”:”value2”}
JSONpointer → points to the element of which the value is needed
Die JSON-Struktur muss sich in einem Datenfeld befinden, das verwendet werden soll. Sie kann nicht direkt in die Formel kopiert werden. Dies würde einen "Syntaktischen Fehler" verursachen.
Die JSON-Struktur muss einfach sein. Für verschachtelte JSON und komplexe Strukturen verwende bitte die Formel "extract_value_json(...)".
Beispiele
datafield “JSON” with the value “{"ShippingStatus_int":"2","Color_text":"0010345"}”
extract_value(JSON,”Color_text”) = 0010345
datafield “JSON” with the value “{“element”:”value”,”element2”:”value2”}”
extract_value(JSON,”element2”) = value2
datafield “JSON” with the value “testtext”
extract_value(JSON,”element2”) = Evaluation error → the datafield is not a JSON structure
extract_value_json(inputJSON, JSONpointer)
Ermöglicht das Extrahieren von Informationen aus verschachtelten, komplexen JSON-Strukturen.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text als verschachtelte JSON-Struktur
Output: Text
Informationen:
inputJSON → a text in a JSON-structure, please make sure that the JSON is valid and nested correctly
JSONpointer → JSON-pointer which can be used to select any point in the JSON, the pointer has to be a / followed be the name of the node you want to select (samples see below)
Die JSON-Struktur muss sich in einem Datenfeld befinden, um sie zu verwenden. Sie kann nicht direkt in die Formel kopiert werden. Dies würde einen "Syntaktischen Fehler" verursachen.
Diese Formel ist für komplexe JSON-Strukturen ausgelegt. Für einfaches JSON verwende bitte die Formel "extract_value(...)".
Beispiele:
sample JSON → {"node1":"value1","node2":{"subnode1":"subvalue1","subnode2":"subvalue2"},"node3":["subvalue3","subvalue4"]}
extract_json_value(json, “/node1”) = value1
extract_json_value(json, “/node2/subnode2“) = subvalue2
extract_json_value(json, “/node2”) = {"subnode1":"subvalue1","subnode2":"subvalue2"}
extract_json_value(json, “/node3”) = [“subvalue3”,”subvalue4”]
extract_json_value(json, "/node3/subvalue3") = EMPTY (would be valid but “subvalue3” has no data)
extract_json_value(json, “node3”) = Evaluation error → wrong notation of a JSON-node
extract_json_value('the json above without datafield', “/node3”) = Syntactic error → invalid input because the JSON-structure is not used by a datafield
sample JSON with wrong structure (wrong brackets) → ("node1":"value1","node2":{"subnode1":"subvalue1","subnode2":"subvalue2"},"node3":{"subvalue3","subvalue4"})
extract_json_value(json, “/node1”) = Evaluation error → JSON can not be parsed because the structure is invalid
get_deepest_cat_tree(inputCategories, delimeter, separator)
Zeigt den tiefsten Kategoriebaum in einer gegebenen Liste von Kategorien mit einem angepassten Trennzeichen.
Einstellungen und Beispiele
Einstellungen und Beispiele
Input: Text
Output: Text
Informationenen:
inputCategories → list of categories, with a custom combination of nested structures
delimeter → delimeter which devides the different categories in the list (“cat,cat,cat” would be “,”)
separator → Separator which is used to create the nested structure of the categories
Es gibt nur einige Zeichen, die als Begrenzungszeichen zulässig sind, und zwar , ;
Es gibt nur einige Zeichen, die als Trennzeichen zulässig sind. Dies sind: > / - :
Beispiele:
get_deepest_cat_tree("Test,Test > Tree,Test > Tree > Category",",",">") = Test > Tree > Category
get_deepest_cat_tree("Test,Test : Tree,Tree : Test",",",":") = Test : Tree (only the first deepest category will be displayed
get_deepest_cat_tree("Test|Test > Tree|Test > Tree > Category","|",">") = T → no valid delimeter, will lead to an error and a wrong output
get_deepest_cat_tree("Test,Test \ Tree,Test \ Tree \ Category",",",">") = Syntactic error, invalid separator
