Ausdrücke erstellen
Informationen zum Erstellen von Ausdrücken
Ausdrücke werden in XM Discover verwendet, um Ihre Daten zu filtern und Datenfelder zu transformieren. 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 vier Komponenten enthalten:
- Konstanten: Sie können konstante Zahlen, Textzeichenfolgen und Datumsangaben verwenden, um mathematische und Vergleichsoperationen durchzuführen.
- Felder: Sie können numerische Felder, Textfelder und Datumsfelder verwenden, die über einen bestimmten Datenkonnektor verfügbar sind, um Mathematik- und Vergleichsoperationen für diese Felder durchzufü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 Operationen durchzuführen und Ihre Felder und Konstanten zu vergleichen.
Konstanten
Konstanten sind Zahlen, Textzeichenfolgen und Datumsangaben, mit denen Sie mathematische Operationen 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-Umfrage gestartet haben, um zu berechnen, wie alt die Antwort eines Umfrageteilnehmers ist.
Hinweise zur Verwendung von Konstanten:
- Bei Textzeichenfolgen wird zwischen Groß- und Kleinschreibung unterschieden. Verwenden Sie die Funktionen UPPER oder LOWER als Behelfslösung zur Berücksichtigung der Groß-/Kleinschreibung.
- Textzeichenfolgen und Datumsangaben müssen in Anführungszeichen gesetzt werden.
- Zahlen benötigen keine Anführungszeichen (eine Zahl innerhalb von 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 Operationen 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 Abschnitt Felder in das Feld Ausdruck.
Feldtypen sind mit folgenden Symbolen gekennzeichnet:
Funktionen
Sie können die in diesem Abschnitt aufgeführten numerischen, Text- und Datumsfunktionen verwenden.
Um eine Funktion hinzuzufügen, ziehen Sie sie aus dem Abschnitt Funktionen in das Feld Ausdruck.
Funktionstypen sind mit den folgenden Symbolen gekennzeichnet:
ABS
Gibt den absoluten Wert einer Zahl zurück.
Syntax: ABS(Zahl)
COALESCE
Gibt den ersten Nicht-Null-Wert in einer Liste zurück.
Syntax: COALESCE(value1, value2, value3)
CEILING
Gibt den aufgerundeten Wert einer Zahl zurück.
Syntax: CEILING(number)
CONCAT
Verknüpft mehrere Textzeichenfolgen zu einer Zeichenfolge.
Syntax: CONCAT(“Zeichenfolge 1”, “Zeichenfolge 2”, “Zeichenfolge 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(“innerhalb von Text”, “Text suchen”)
CONVERT_TO_TIMEZONE
Konvertiert Datum und Uhrzeit von einer Zeitzone in eine andere.
Syntax: CONVERT_TO_TIMEZONE(“date and time”, “time zone to convert from”, “time zone to convert to”)
Hinweise zur Datumsformatierung:
- Geben Sie die Zeitzonen über ihre tz-Datenbanknamen an.
- Geben Sie das Datum und die Uhrzeit in ISO 8601 oder als jjjj-mm-tt hh:mm:ss an.
- Wenn Datum und Uhrzeit mit Zeitzoneninformationen bereitgestellt werden, werden sie zugunsten des Parameters “Zeitzone, 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 einen Datumsstring im angeforderten Format.
Syntax: DATETOTEXT(“Datum”, “Datumsformat”)
DAYOFWEEK
Gibt den Wochentag zurück, der einem Datum entspricht.
Syntax: DAYOFWEEK(“Datum”)
DYNAMICLOOKUP
Ersetzt die Feldwerte mithilfe einer dynamisch geladenen Lookup-Tabelle. Die Lookup-Werte werden dem im ersten Argument angegebenen Feld (“Feldname”) entnommen.
Syntax: DYNAMICLOOKUP(“Feldname”, “Wert”)
ELEMENTOFARRAY
Extrahieren Sie den n-ten Wert aus einem Array, und ordnen Sie dann Array-Werte zu Attributen in XM Discover zu.
Syntax: ELEMENTOFARRAY([“array element 1”, “array element 2”, “array element 3”], number)
Notes:
- 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
Umbricht Feldnamen, die Leerzeichen oder Punkte enthalten.
Syntax: FIELD(“Feldname”)
FINDEN
Sucht eine Textzeichenfolge (“Text suchen”) innerhalb einer anderen Textzeichenfolge (“innerhalb von Text”) und gibt die Nummer der Startposition von “Text suchen” ab dem ersten Zeichen von “innerhalb von Text” (beginnend mit 1) zurück.
Ermöglicht die Angabe der Reihenfolge des Zeichens in “innerhalb des Texts”, bei der die Suche gestartet werden soll (beginnend mit 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(“text suchen”, “innerhalb von text”, order_number)
FINDFIRST
Sucht das erste Vorkommen einer Textzeichenfolge (“Text suchen”) innerhalb einer anderen Textzeichenfolge (“innerhalb von Text”) und gibt die Nummer der Startposition von “Text suchen” ab dem ersten Zeichen von “innerhalb von Text” (beginnend mit 1) zurück.
Syntax: FINDFIRST(“innerhalb des Textes”, “Text suchen”)
FINDLAST
Sucht das letzte Vorkommen einer Textzeichenfolge (“Text suchen”) innerhalb einer anderen Textzeichenfolge (“innerhalb von Text”) und gibt die Nummer der Startposition von “Text suchen” ab dem ersten Zeichen von “innerhalb von Text” (beginnend mit 1) zurück.
Syntax: FINDLAST(“innerhalb von Text”, “Text suchen”)
FLOOR
Gibt den abgerundeten Wert einer Zahl zurück.
Syntax: FLOOR(number)
GENERATE_ID
Erzeugt 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 Wert, 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, Trennzeichen, Escape-Zeichen, skipNull, removeDubletten)
In obiger Syntax:
- Array: Array von zu verknüpfenden Zeichenfolgen oder Zahlen.
- Trennzeichen: Trennzeichen, das beim Verknüpfen des Arrays verwendet werden soll.
- Fluchtsymbol: 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])
NIEDRIG
Konvertiert Text in Kleinbuchstaben.
Syntax: LOWER(“text”)
MD5HASH
Wendet MD5-Hash auf die Eingabedaten an, um eindeutige IDs basierend auf diesen Daten 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(Zahl, 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. 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
Schreibt den ersten Buchstaben einer Textzeichenfolge in Großbuchstaben.
Syntax: PROPERCASE(“text”)
Beispiel: PROPERCASE(“üben 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(minimum number, maximum number)
REMOVEHTMLTAGS
Entfernt HTML-Tags aus einem Textstring.
Syntax: REMOVEHTMLTAGS(“text”)
ERSETZEN
Ersetzt einen Teil eines Textstrings (“alter Text”) mit einem anderen Textstring (“neuer Text”) einer festgelegten Anzahl (number_of_replacements) basierend auf der Anzahl der Vorkommen von “alter Text” innerhalb von “text” (Vorkommensnummer).
Syntax: REPLACE(“text”, “alter Text”, “neuer Text”, Vorkommensnummer, case_sensitivität, number_of_replacements)
REPLACEBYINDEX
Ersetzt einen Teil eines Textstrings (“alter Text”) durch einen anderen Textstring (“neuer Text”), basierend auf der Anzahl der Zeichen, die Sie angeben.
Die Position (order_number) beginnt bei 1.
Syntax: REPLACE(“alter Text”, Auftragsnummer, Zeichennummer, “neuer 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 (“Text suchen”) innerhalb einer anderen Textzeichenfolge (“innerhalb von Text”) und gibt die Nummer der Startposition von “Text suchen” ab dem ersten Zeichen von “innerhalb von Text” (beginnend mit 1) zurück.
Ermöglicht die Angabe der Reihenfolge des Zeichens in “innerhalb des Texts”, bei der die Suche gestartet werden soll (beginnend mit 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(“text suchen”, “innerhalb von text”, order_number)
SPLIT
Teilt eine gegebene 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 “alter Text” Sie ersetzen möchten. Wenn Sie die Vorkommensnummer angeben, wird nur die Instanz von “alter Text” ersetzt. Andernfalls wird jedes Vorkommen von “alter Text” im Text in “neuer Text” geändert.
Syntax: SUBSTITUTE(“text”, “alter Text”, “neuer Text”, Vorkommensnummer)
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
Schreibt den ersten Buchstaben jedes Wortes in einer Textzeichenfolge in Großbuchstaben.
Syntax: TITLECASE(“text”)
TEXTTODATE
Konvertiert eine Datumszeichenfolge in ein Datumsfeld im folgenden Format: YYYY-MM-DDThh:mm:ssZ.
Syntax: TEXTTODATE(“Datum”, “Datumsformat”)
TEXTTONUMBER
Konvertiert Text in Zahl.
Syntax: TEXTTONUMBER(text)
TRANSLATE
Übersetzt Eingangsdaten.
Syntax: TRANSLATE (“Quellsprachencode”, “Zielsprachencode”, “Text”).
Hinweise:
- Diese Funktion ist nur für Konten mit Google-Translate-API-Anmeldeinformationen verfügbar.
- Eine vollständige Liste der unterstützten Sprachcodes finden Sie in der 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 Vergleichsoperatoren verwenden.
Arithmetische Operatoren
Operator | Beschreibung |
+ | Hinzufügen |
– | Subtrahieren oder negieren |
* | Multiplizieren |
/ | Dividieren |
Beispiel: Der folgende Ausdruck gibt den Durchschnitt der beiden numerischen Werte zurück.
(RATING1 + RATING2) / 2
Vergleichsoperatoren
Operator | Beschreibung |
== | Gleich |
> | Größer als |
< | Kleiner als |
>= | Größer oder gleich |
<= | Kleiner oder gleich |
!= | Ungleich |
Beispiel: Der folgende Ausdruck gibt “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 anstelle mehrerer Operatoren vom Typ “oder”.
|
oder | Bedingung ist wahr, wenn eine der durch „oder“ getrennten Bedingungen wahr ist. |
Beispiel: Der folgende Ausdruck gibt “Mediterranean” zurück, wenn das Feld COUNTRY einen der angegebenen Werte enthält. Andernfalls wird “Nicht-metiterranisch” zurückgegeben.
IF(LOWER(COUNTRY) in [“france”, “portugal”, “italy”, “spain”, “greece”, “malta”, “cyprus”], “Mediterranean”, “Non-Mediterranean”)
Syntaxtipps
Folgen Sie diesen Tipps, 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. Beispiel: Für die Funktion TODATE müssen sowohl die Datums- als auch die Datumsformatargumente korrekt funktionieren.
- Stellen Sie sicher, dass Sie den richtigen Datentyp verwenden, der von einer Funktion, einer arithmetischen Operation oder einer Vergleichsoperation unterstützt wird. Beispielsweise benötigt die ABS-Funktion eine Zahl, um korrekt zu funktionieren und funktioniert nicht in einem Text- oder Datumsfeld.
- Wenn Ihr Ausdruck Punkte (“.”) enthält, setzen Sie diese in die FIELD-Funktion und Anführungszeichen (entweder “einfach” oder “doppelt”). Wenn Sie beispielsweise ein Feld mit dem Namen „agentParticipants.0.agentLoginName“ haben, verpacken Sie es in einer potenziellen Transformation:
IF(CONTAINS(LOWER(FIELD(“agentParticipants.0.agentLoginName”)), “bot”),”YES”, “NO”).