Zum Hauptinhalt springen

Formeln: Syntax, Operatoren und Funktionen

Nutze Formeln für eine optimale Datenverarbeitung

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:

Statistikfunktionen

abs(inputNumber)

Gibt den absoluten Wert eines Zahl zurück. Negative Werte werden automatisch in positive umgewandelt.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Input: Text mit Sonderzeichen oder Umlauten

Output: Text mit HTML-Tags

Informationen: -

Beispiele:

escape_html("verschlüsseln") = “verschl&uuml;sseln”

escape_html("üöäß&") = “&uuml;&ouml;&auml;&szlig;&amp;”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Input: Text mit HTML-Tags

Output: Text mit Sonderzeichen und Umlauten

Informationen:

Nicht alle Sonderzeichen sind übersetzbar.

Beispiele:

unescape_html("verschl&uuml;sseln") → unescape_html("verschlüsseln")

unescape_html("&uuml;&ouml;&auml;&szlig;&amp;") → unescape_html("üöäß&")

unescape_html(verschl&uuml;sseln) → Syntactic error → missing “

upper(inputText)

Konvertiert einen gegebenen Text in Großbuchstaben und gibt ihn zurück.

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

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

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

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

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

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:23

Nicht 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

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

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

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

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

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

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

Hat dies deine Frage beantwortet?