Artikelvorlage
Informationen zum Erstellen von Ausdrücken
Ausdrücke werden in XM Discover verwendet, um Filter Ihre Daten und Transformation Datenfelder. Sie können beispielsweise Ausdrücke verwenden, um die Formatierung von Datumsfeldern zu ändern, Daten für leere Datensätze auszuwerten und mathematische Berechnungen durchzuführen.
Ausdrücke können 4 Komponenten enthalten:
- Konstanten: Sie können konstante Zahlen, Textzeichenfolgen und Datumsangaben verwenden, um Mathematik- und Vergleich auszuführen.
- Felder: Sie können numerische, Text- und Datumsfelder verwenden, die über einen bestimmten Datenkonnektor verfügbar sind, um Mathematik- und Vergleich für diese Felder auszuführen.
- Funktionen: Sie können Funktionen verwenden, um Transformationen für Ihre Felder und Konstanten durchzuführen.
- Operatoren: Sie können Operatoren verwenden, um mathematische Operation durchzuführen und Ihre Felder und Konstanten zu vergleichen.
Konstanten
Konstanten sind Zahlen, Textzeichenfolgen und Datumsangaben, mit denen Sie mathematische Operation und Vergleiche durchführen können. Sie können beispielsweise ein konstantes Datum verwenden, z. B. das Datum, an dem Sie Ihre jährliche CX gestartet haben, um zu berechnen, wie alt die Antwort eines Umfrage ist.
Hinweise zur Verwendung von Konstanten:
- Bei Textstrings wird zwischen Groß- und Kleinschreibung unterschieden. Verwenden Sie die Funktionen UPPER oder LOWER als Behelfslösung für die Berücksichtigung von Groß- und Kleinschreibung.
- Textzeichenfolgen und Datumsangaben müssen in Anführungszeichen gesetzt werden.
- Zahlen benötigen keine Anführungszeichen (eine Zahl in Anführungszeichen wird als Text behandelt).
Felder
Felder sind die Datenfelder, die über Ihren eingehenden Datenkonnektor verfügbar sind. Dazu gehören numerische Felder, Textzeichenfolgen und Datumsfelder, mit denen Sie mathematische Operation und Vergleiche durchführen können. Wenn Ihr Datenset beispielsweise ein Feld für den Geburtstag eines Kunden enthält, können Sie berechnen, wie alt der Kunde ist.
Um ein Feld hinzuzufügen, ziehen Sie es aus dem Felder auf der Registerkarte Ausdruck Kasten.
Feldtypen sind mit den folgenden Symbolen beschriftet:
Funktionen
Sie können die in diesem Abschnitt aufgeführten numerischen Funktionen, Textfunktionen und Datumsfunktionen verwenden.
Um eine Funktion hinzuzufügen, ziehen Sie sie aus dem Funktionen auf der Registerkarte Ausdruck Kasten.
Funktionstypen sind mit folgenden Symbolen beschriftet:
ABS
Gibt den absoluten Wert einer Zahl zurück.
Syntax: ABS(number)
COALESCE
Gibt den ersten Nicht-Null-Wert in einer Liste zurück.
Syntax: COALESCE(Wert1, Wert2, Wert3)
CEILING
Gibt den aufgerundeten Wert einer Zahl zurück.
Syntax: CEILING(number)
CONCAT
Verknüpft mehrere Textzeichenfolgen zu einem.
Syntax: CONCAT(“string 1”, “string 2”, “string 3”)
CONTAINS
Gibt “true” zurück, wenn eine Textzeichenfolge (“innerhalb von Text”) eine andere Textzeichenfolge (“text suchen”) enthält. Andernfalls wird false zurückgegeben.
Syntax: CONTAINS(“in text”, “find text”)
CONVERT_TO_TIMEZONE
Konvertiert Datum und Uhrzeit von einer Zone in eine andere.
Syntax: CONVERT_TO_TIMEZONE(“Datum und Uhrzeit”, “Zone, aus der konvertiert werden soll”, “Zone, in die konvertiert werden soll”)
Hinweise zur Datumsformatierung:
- Geben Sie die Zeitzonen über ihre tz-Datenbanknamen an.
- Geben Sie das Datum und die Uhrzeit in an. ISO 8601 oder als JJJJ-MM-TT hh:mm:ss.
- Wenn Datum und Uhrzeit mit Zone bereitgestellt werden, werden sie zugunsten des Parameters “Zone, aus der konvertiert werden soll” ignoriert.
- Das konvertierte Datum verwendet das ISO-8601-Format. Verwenden Sie die Funktion TODATE, wenn Sie dies ändern müssen.
DATETONUMBER
Konvertiert ein Datumsfeld in einen Unix-Zeitstempel.
Syntax: DATETONUMBER(“date”)
DATETOTEXT
Konvertiert ein Datumsfeld in eine Datumszeichenfolge im angeforderten Format.
Syntax: DATETOTEXT(“date”, “date format”)
DAYOFWEEK
Gibt den Wochentag zurück, der einem Datum entspricht.
Syntax: DAYOFWEEK(“date”)
DYNAMICLOOKUP
Ersetzt die Feldwerte mithilfe einer dynamisch geladenen Lookup-Tabelle. Lookup-Werte werden dem Feld entnommen, das im ersten Argument (“Feldname”) angegeben ist.
Syntax: DYNAMICLOOKUP(“Feldname”, “Wert”)
ELEMENTOFARRAY
Extrahieren Sie den n-ten Wert aus einem Array, und ordnen Sie dann Array-Werte Attributen in XM Discover zu.
Syntax: ELEMENTOFARRAY([“Array-Element 1”, “Array-Element 2”, “Array-Element 3”], Zahl)
Hinweise:
- Wenn die Eingabe kein Array ist, gibt die Funktion einen Fehler aus.
- Wenn die Zahl größer als die Größe eines Arrays ist, gibt die Funktion Null zurück. Zahlen in aufsteigender Reihenfolge beginnen bei 0.
FELD
Verschalungen von Feldnamen, die Leerzeichen oder Punkte enthalten.
Syntax: FIELD(“Feldname”)
FIND
Sucht eine Textzeichenfolge (“find text”) innerhalb einer anderen Textzeichenfolge (“innerhalb text”) und gibt die Nummer der Startposition von “find text” ab dem ersten Zeichen von “Within text” (beginnend mit 1) zurück.
Ermöglicht die Angabe der Reihenfolge des Zeichens in “innerhalb von Text”, bei dem die Suche gestartet werden soll (beginnend bei 1). Wenn Sie order_number weglassen, wird davon ausgegangen, dass es sich um 1 handelt.
Gibt -1 zurück, wenn “Text suchen” nicht in “Innerhalb von Text” gefunden wird.
Syntax: FIND(“find text”, “Within text”, order_number)
FINDFIRST
Sucht das erste Vorkommen einer Textzeichenfolge (“find text”) innerhalb einer anderen Textzeichenfolge (“innerhalb text”) und gibt die Nummer der Startposition von “find text” ab dem ersten Zeichen von “Within text” (beginnend bei 1) zurück.
Syntax: FINDFIRST(“in text”, “find text”)
FINDLAST
Sucht das letzte Vorkommen einer Textzeichenfolge (“find text”) innerhalb einer anderen Textzeichenfolge (“innerhalb text”) und gibt die Nummer der Startposition von “find text” ab dem ersten Zeichen von “Within text” (beginnend bei 1) zurück.
Syntax: FINDLAST(“in text”, “find text”)
FLOOR
Gibt den abgerundeten Wert einer Zahl zurück.
Syntax: FLOOR(number)
GENERATE_ID
Generiert eine eindeutige ID. Diese Funktion benötigt keine zusätzlichen Parameter.
Syntax: GENERATE_ID()
GETDAYSBETWEEN
Gibt die Anzahl der Tage zwischen zwei Datumsangaben zurück.
Syntax: GETDAYSBETWEEN(“Startdatum”, “Enddatum”)
GETHOURSBETWEEN
Gibt die Anzahl der Stunden zwischen zwei Datumsangaben zurück.
Syntax: GETHOURSBETWEEN(“Startdatum”, “Enddatum”)
GETMINUTESBETWEEN
Gibt die Anzahl der Minuten zwischen zwei Datumsangaben zurück.
Syntax: GETMINUTESBETWEEN(“Startdatum”, “Enddatum”)
WENN
Gibt einen Wert zurück, wenn die Aussage wahr ist, und einen anderen, wenn die Aussage falsch ist.
Syntax: IF(statement, “value if true”, “value if false”)
ISBLANK
Gibt TRUE zurück, wenn ein Feld leer ist, und FALSE, wenn ein Feld nicht leer ist.
Syntax: ISBLANK(“Feldname”)
JOINARRAY
Verknüpft ein Array von Elementen in einer einzelnen Zeichenfolge mit einem angegebenen Trennzeichen.
Synax: JOINARRAY(array, separator iter, escape, skipNull, removeDuplicates)
In der oben genannten Syntax:
- Array: Array von zu verknüpfenden Zeichenfolgen oder Zahlen.
- Trennzeichen: Trennzeichen, das beim Verknüpfen des Arrays verwendet werden soll.
- Escape: Wenn wahr, werden Elemente in Anführungszeichen beibehalten.
- skipNull: Wenn wahr, werden Elemente übersprungen, die null sind.
- removeDupliziert: Wenn wahr, entfernen Sie duplizieren Elemente.
LEN
Gibt die Anzahl der Buchstaben in einer Textzeichenfolge zurück.
Syntax: LEN(“text”)
Syntax: LEN([“text1”, text2])
LOWER
Konvertiert Text in Kleinbuchstaben.
Syntax: LOWER(“text”)
MD5HASH
Wendet den MD5-Hash auf die Eingabedaten an, um anhand dieser Daten eindeutige IDs zu generieren.
Syntax: MD5HASH(“text”)
MID
Gibt eine bestimmte Anzahl von Zeichen aus einer Textzeichenfolge zurück, beginnend an der von Ihnen angegebenen Position.
Die Position (order_number) beginnt bei 1.
Syntax: MID(“text”, order_number, Characs_number)
MOD
Gibt den Rest zurück, wenn eine Zahl durch einen Divisor geteilt wird.
Syntax: MOD(number, divisor)
JETZT
Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück. Diese Funktion benötigt keine zusätzlichen Parameter.
Syntax: NOW()
NUMBERTODATE
Konvertiert einen Unix-Zeitstempel in ein Datumsfeld. Der Unix-Zeitstempel ist die Anzahl der Millisekunden, die seit dem 1. Januar 1970 vergangen sind.
Syntax: NUMBERTODATE(number)
NUMBERTOTEXT
Konvertiert eine Zahl in Text.
Syntax: NUMBERTOTEXT(number)
POW
Gibt das Ergebnis von x potenziert mit y zurück.
Syntax: POW(x, y)
PROPERCASE
Großschreibung des ersten Buchstabens einer Textzeichenfolge.
Syntax: PROPERCASE(“text”)
Beispiel: PROPERCASE(“Übung macht perfekt”) löst auf Übung macht perfekt.
RANDOM
Gibt eine zufällige reelle Zahl zwischen 0 und 1 zurück. Diese Funktion benötigt keine zusätzlichen Parameter.
Syntax: RANDOM()
RANDOMBETWEEN
Gibt eine zufällige Ganzzahl zwischen zwei Zahlen zurück.
Syntax: RANDOMBETWEEN(minimale Anzahl, maximale Anzahl)
REMOVEHTMLTAGS
Entfernt HTML aus einer Textzeichenfolge.
Syntax: REMOVEHTMLTAGS(“text”)
ERSETZEN
Ersetzt einen Teil eines Textstrings (“alter Text”) durch einen anderen Textstring (“neuer Text”), eine festgelegte Anzahl (number_of_replacements) basierend auf der Anzahl der Vorkommen von “old text” innerhalb von “text” (nonence_number).
Syntax: REPLACE(“text”, “old text”, “new text”, nonence_number, case_sensitive, number_of_replacements)
REPLACEBYINDEX
Ersetzt einen Teil einer Textzeichenfolge (“alter Text”) durch eine andere Textzeichenfolge (“neuer Text”), basierend auf der Anzahl der Zeichen, die Sie angeben.
Die Position (order_number) beginnt bei 1.
Syntax: REPLACE(“alter Text”, order_number, zeichens_number, “new text”)
REPLACEBYREGEXP
Ersetzt Textwerte durch reguläre Ausdrücke.
Syntax: REPLACEBYREGEXP(“text”, “regulärer Ausdruck für Musterabgleich”, “regulärer Ausdruck für Ersatzwert”)
ROUND
Gibt den Wert einer Zahl zurück, die auf die nächste Ganzzahl gerundet wurde.
Syntax: ROUND(number)
SUCHE
Sucht eine Textzeichenfolge (“find text”) innerhalb einer anderen Textzeichenfolge (“innerhalb text”) und gibt die Nummer der Startposition von “find text” ab dem ersten Zeichen von “Within text” (beginnend mit 1) zurück.
Ermöglicht die Angabe der Reihenfolge des Zeichens in “innerhalb von Text”, bei dem die Suche gestartet werden soll (beginnend bei 1). Wenn Sie order_number weglassen, wird davon ausgegangen, dass es sich um 1 handelt.
Gibt -1 zurück, wenn “Text suchen” nicht in “Innerhalb von Text” gefunden wird.
Syntax: SEARCH(“find text”, “Within text”, order_number)
SPLIT
Teilt eine bestimmte Zeichenfolge basierend auf einem angegebenen Trennzeichen in ein Array von Teilzeichenfolgen auf. Diese Funktion kann als Parameter für JOINARRAY- oder ELEMENTOFARRAY-Funktionen verwendet werden, da der Ausgabewert eine Zeichenfolge sein muss.
Syntax: SPLIT(“string_to_split”, “_”)
SUBSTITUT
Ersetzt “alter Text” durch “neuer Text” in einem Textstring.
Ermöglicht die Angabe, welches Vorkommen von “altem Text” Sie ersetzen möchten. Wenn Sie nonence_number angeben, wird nur die Instanz von “old text” ersetzt. Andernfalls wird jedes Vorkommen von “altem Text” im Text in “neuer Text” geändert.
Syntax: SUBSTITUTE(“text”, “old text”, “new text”, nonence_number)
SUBSTR
Gibt einen Teil einer Textzeichenfolge zurück, beginnend mit dem ersten Zeichen der Zeichenfolge und bis zur angegebenen Anzahl von Zeichen (beginnend mit 1).
Syntax: SUBSTR(“text”, order_number)
TITLECASE
Großschreibung des ersten Buchstabens jedes Wortes in einer Textzeichenfolge.
Syntax: TITLECASE(“text”)
TEXTTODATE
Konvertiert eine Datumszeichenfolge in ein Datumsfeld im folgenden Format: JJJJ-MM-TTThh:mm:ssZ.
Syntax: TEXTTODATE(“date”, “date format”)
TEXTTONUMBER
Konvertiert Text in Zahl.
Syntax: TEXTTONUMBER(text)
ÜBERSETZEN
Übersetzt eingehende Daten.
Syntax: TRANSLATE ("Sprachcode ", " Ziel ", "Text").
Hinweise:
- Diese Funktion steht nur für Abrechnungen mit API für Google Translate
- Eine vollständige Liste der unterstützten Sprachcodes finden Sie unter. Dokumentation zu Google Cloud Translation.
TRIMLEFT
Entfernt Leerzeichen am linken Ende einer Textzeichenfolge.
Syntax: TRIMLEFT(“text”)
TRIMRIGHT
Entfernt Leerzeichen am rechten Ende einer Textzeichenfolge.
Syntax: TRIMRIGHT(“text”)
UPPER
Konvertiert Text in Großbuchstaben.
Syntax: UPPER(“text”)
Operatoren
Sie können die in den folgenden Tabellen aufgeführten arithmetischen Operatoren und Vergleich verwenden.
Arithmetische Operatoren
Operator | Beschreibung |
+ | Hinzufügen |
– | Subtrahieren oder Negieren |
* | Multiplizieren |
/ | Dividieren |
Der folgende Ausdruck gibt beispielsweise den Durchschnitt der beiden numerischen Werte zurück.
(RATING1 + RATING2) / 2
Vergleich
Operator | Beschreibung |
== | Gleich |
> | Größer als |
< | Kleiner als |
>= | Größer oder gleich |
<= | Kleiner oder gleich |
!= | Ungleich |
Der folgende Ausdruck gibt beispielsweise “schlechte Bewertung” zurück, wenn RATING kleiner oder gleich 3 ist, und “gute Bewertung”, wenn RATING größer als 3 ist.
IF(RATING <= 3, “schlechte Bewertung”, “gute Bewertung”)
Logische Operatoren
Verwenden Sie logische Operatoren, um mehrere Bedingungen anzugeben, wenn Sie die IF-Funktion oder Jobfilter verwenden.
Operator | Beschreibung |
und | Bedingung ist wahr, wenn alle durch „und“ getrennten Bedingungen wahr sind. |
ist enthalten in | Bedingung ist wahr, wenn es eine Übereinstimmung mit einem der aufgelisteten Werte gibt.
Syntax: in[“Wert 1”, “Wert 2”, “Wert 3”] Tipp: Verwenden Sie diesen Operator anstelle mehrerer “or”-Operatoren.
|
oder | Bedingung ist wahr, wenn eine der durch „oder“ getrennten Bedingungen wahr ist. |
Der folgende Ausdruck gibt beispielsweise “Mittelmeer” zurück, wenn das Feld COUNTRY einen der angegebenen Werte enthält. Andernfalls wird “Non-Metiterranean” zurückgegeben.
IF(LOWER(LAND) in [“france”, “portugal”, “italy”, “spain”, “greece”, “malta”, “cyprus”], “Mediterranean”, “Non-Mediterranean”)
Syntaxtipps
Gehen Sie wie folgt vor, um ungültige Ausdrücke zu vermeiden:
- Wenn Sie mehrere Funktionen in einem Ausdruck kombinieren, stellen Sie sicher, dass die Anzahl der öffnenden und schließenden Klammern übereinstimmt.
Beispiel: IF(GETDAYSBETWEEN(feedback_date, response_date) > 3, “verzögert”, “nicht verzögert”).
- Für jede im Ausdruck verwendete Funktion müssen alle erforderlichen Argumente vorhanden sein. Beispielsweise erfordert die TODATE-Funktion, dass sowohl die Datums- als auch die Datumsformatargumente korrekt funktionieren.
- Stellen Sie sicher, dass Sie den richtigen Datentyp verwenden, der von einer Funktion oder einer arithmetischen oder Vergleich unterstützt wird. Beispielsweise benötigt die ABS-Funktion eine Zahl, um korrekt zu funktionieren, und funktioniert nicht für ein Text- oder Datumsfeld.
- Wenn in Ihrem Ausdruck Punkte (“.”) enthalten sind, schließen Sie sie mit der FIELD-Funktion und Anführungszeichen (entweder ‘einfach’ oder “doppelt”) um. Wenn Sie beispielsweise ein Feld mit dem Namen „agentParticipants.0.agentLoginName“ haben, verpacken Sie es wie folgt in eine potenzielle Transformation:
IF(CONTAINS(LOWER(FIELD(“agentParticipants.0.agentLoginName”)), “bot”),”YES”, “NO”).