Auflistungsfunktionen list-functions
Mit Listenfunktionen können Sie Sammlungen von Werten in Ihren Journey-Ausdrücken bearbeiten und verwenden. Diese Funktionen sind für das Filtern, Sortieren, Umwandeln und Analysieren von Arrays und Listen in Ihren Customer Journeys unerlässlich.
Verwenden Sie Listenfunktionen, wenn Sie Folgendes tun müssen:
- Filtern und Extrahieren bestimmter Elemente aus Sammlungen anhand von Kriterien (filter, getListItem)
- Sortieren und Organisieren von Listenelementen in auf- oder absteigender Reihenfolge (sort)
- Entfernen von Duplikaten und Abrufen eindeutiger Werte aus Listen (distinct, distinctWithNull)
- Überprüfen, ob Werte in Sammlungen vorhanden sind (in)
- Begrenzen der Anzahl der aus einer Liste zurückgegebenen Elemente (limit)
- Abrufen der Größe einer Liste (listSize) oder Umwandeln von Listen in verschiedene Formate (serializeList)
- Durchführen bestimmter Vorgänge wie das Suchen nach gemeinsamen Elementen verschiedener Listen (intersect)
Listenfunktionen bieten leistungsstarke Tools für die Arbeit mit komplexen Datenstrukturen und ermöglichen so eine ausgefeilte Datenbearbeitung und Bedingungslogik basierend auf Sammlungsinhalten.
distinct distinct
Gibt die unterschiedlichen Werte oder Objekte einer angegebenen Liste zurück. Einträge mit Null werden ignoriert.
distinct(<parameters>)| table 0-row-3 1-row-3 2-row-3 | ||
|---|---|---|
| Parameter | Typ | Beschreibung |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly oder listObject | Zu verarbeitende Liste. Bei listObject muss es sich um einen Feldverweis handeln. |
| keyAttributeName | Zeichenfolge | Dieser Parameter ist optional und nur für listObject. Wenn der Parameter nicht angegeben wird, wird ein Objekt als doppelt betrachtet, wenn alle Attribute dieselben Werte aufweisen. Andernfalls wird ein Objekt als doppelt betrachtet, wenn das angegebene Attribut denselben Wert aufweist. |
distinct(<listInteger>)
Gibt eine Liste mit Ganzzahlen zurück.
distinct(<listDecimal>)
Gibt eine Liste mit Dezimalzahlen zurück.
distinct(<listString>)
Gibt eine Liste mit Zeichenfolgen zurück.
distinct(<listDateTimeOnly>)
Gibt eine Liste mit Datum/Uhrzeit-Werten ohne Berücksichtigung der Zeitzone zurück.
distinct(<listDateTime>)
Gibt eine Liste mit Datum/Uhrzeit-Werten zurück.
distinct(<listDateOnly>)
Gibt eine Liste mit Datumsangaben zurück.
distinct(<listBoolean>)
Gibt eine Liste mit booleschen Werten zurück.
distinct(<listDuration>)
Gibt eine Liste der Dauer zurück.
distinct(<listObject>)
distinct(<listObject>,<string>)
Gibt eine Liste mit Objekten zurück.
distinct([10,2,10,null])
Gibt [10, 2] zurück.
distinctWithNull distinctWithNull
Gibt die unterschiedlichen Werte oder Objekte einer angegebenen Liste zurück. Wenn die Liste mindestens einen Nullwert enthält, wird ein Nullwert in der zurückgegebenen Liste angezeigt.
distinctWithNull(<parameters>)| table 0-row-3 1-row-3 | ||
|---|---|---|
| Parameter | Typ | Beschreibung |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly | Zu verarbeitende Liste. |
distinctWithNull(<listInteger>)
Gibt eine Liste mit Ganzzahlen zurück.
distinctWithNull(<listDecimal>)
Gibt eine Liste mit Dezimalzahlen zurück.
distinctWithNull(<listString>)
Gibt eine Liste mit Zeichenfolgen zurück.
distinctWithNull(<listDateTimeOnly>)
Gibt eine Liste mit Datum/Uhrzeit-Werten ohne Berücksichtigung der Zeitzone zurück.
distinctWithNull(<listDateTime>)
Gibt eine Liste mit Datum/Uhrzeit-Werten zurück.
distinctWithNull(<listDateOnly>)
Gibt eine Liste mit Datumsangaben zurück.
distinctWithNull(<listBoolean>)
Gibt eine Liste mit booleschen Werten zurück.
distinctWithNull(<listDuration>)
Gibt eine Liste der Dauer zurück.
distinctWithNull([10,2,10,null])
Gibt [10, 2, null] zurück.
Hinweis: Der Parameter <listObject> wird in dieser Funktion nicht unterstützt.
filter filter
Gibt ein listObject mit Objekten zurück, deren Schlüsselattribut einem der angegebenen Schlüsselwerte entspricht.
filter(<parameters>)| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| Parameter | Typ | Beschreibung |
| listToFilter | listObject | Liste der zu filternden Objekte. Muss ein Feldverweis sein. |
| keyAttributeName | Zeichenfolge | Attributname in den Objekten der angegebenen Liste, der als Schlüssel zum Filtern verwendet wird |
| keyValueList | list | Schlüsselwerte für die Filterung |
filter(listObject, string, listString)
filter(listObject, string, listInteger)
filter(listObject, string, listDecimal)
filter(listObject, string, listDateTime)
filter(listObject, string, listDateTimeOnly)
filter(listObject, string, listDateOnly)
filter(listObject, string, listDuration)
filter(listObject, string, listBoolean)
Gibt ein listObject zurück.
Hier ist ein Beispiel für eine Payload, die in einem eingehenden Ereignis „myevent“ übergeben wird:
| code language-json |
|---|
|
Sie können den folgenden Ausdruck verwenden:
| code language-json |
|---|
|
Gibt ein listObject mit den beiden Objekten „product2“ und „product3“ als ID zurück.
getListItem getListItem
Gibt das Element der Liste am angegebenen Index zurück.
getListItem(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 | |
|---|---|
| Parameter | Typ |
| list | listString |
| list | listBoolean |
| list | listInteger |
| list | listDecimal |
| list | listDuration |
| list | listDateTime |
| list | listDateTimeOnly |
| list | listDateOnly |
| index | integer |
getListItem(<listInteger>,<index>)
Gibt eine Ganzzahl zurück.
getListItem(<listDecimal>,<index>)
Gibt eine Dezimalzahl zurück.
getListItem(<listString>,<index>)
Gibt eine Zeichenfolge zurück.
getListItem(<listDateTimeOnly>,<index>)
Gibt einen Datum/Uhrzeit-Wert ohne Berücksichtigung der Zeitzone zurück.
getListItem(<listDateTime>,<index>)
Gibt einen Datum/Uhrzeit-Wert zurück.
getListItem(<listDateOnly>,<index>)
Gibt eine Liste mit Datumsangaben zurück.
getListItem(<listBoolean>,<index>)
Gibt einen booleschen Wert zurück.
getListItem(<listDuration>,<index>)
Gibt eine Dauer zurück.
getListItem([10, 2, 3], 1)
Gibt „2“ zurück
getListItem(["A", "B", "C"], 2)
Gibt „C“ zurück
Beispiele mit dem Ereignisfeld „event.appVersion“ mit dem Wert: 20.45.2.3434
split(@event{event.appVersion}, "\\.")
Gibt ["20", "45", "2", "3434"] zurück
getListItem(split(@event{event.appVersion}, "\\."), 0)
Gibt „20“ zurück
in in
Überprüft, ob sich der erste Argumentwert in der Liste befindet. Die Prüfung wird mithilfe eines Gleichzeichens für jeden Argumentwert durchgeführt. Gibt „true“ zurück, wenn der Argumentwert gefunden wurde, andernfalls „false“.
Der Typ von <expression> muss mit Elementen der Liste übereinstimmen. Zur Erinnerung: Typen von Elementen in der Liste müssen miteinander übereinstimmen.
in(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 | |
|---|---|
| Parameter | Typ |
| Zeichenfolge | Zeichenfolge |
| Boolesch | Boolesch |
| Ganzzahl | Ganzzahl |
| Dezimal | Dezimal |
| Dauer | Dauer |
| DateTime | DateTime |
| DateTimeOnly | DateTimeOnly |
| Liste | listString |
| Liste | listBoolean |
| Liste | listInteger |
| Liste | listDecimal |
| Liste | listDuration |
| Liste | listDateTime |
| Liste | listDateTimeOnly |
| Liste | listDateOnly |
in(<integer>,<listInteger>)
in(<decimal>,<listDecimal>)
in(<string>,<listString>)
in(<boolean>,<listBoolean>)
in(<dateTimeOnly>,<listDateTimeOnly>)
in(<dateTime>,<listDateTime>)
in(<dateOnly>,<listDateOnly>)
in(<duration>,<listDuration>)
Geben einen booleschen Wert zurück.
in(4,[4,5,3,4])
Gibt „true“ zurück.
in(8,[4,5,3,4])
Gibt „false“ zurück.
in(#{ExperiencePlatform.ProfileFieldGroup.profile.person.gender}, ["male"])
intersect intersect
Gibt die gemeinsamen Werte in den beiden Eingabe-Listen zurück. Wenn eine der beiden Listen null ist, wird eine leere Liste zurückgegeben.
intersect(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Liste 1 | Liste |
| Liste 2 | Liste |
intersect(listString,listString): listString
intersect(listDecimal,listDecimal): listDecimal
intersect(listInteger,listInteger): listInteger
intersect(listDateTime,listDateTime): listDateTime
intersect(listDateTimeOnly,listDateTimeOnly): listDateTimeOnly
intersect(listDateOnly,listDateOnly): listDateOnly
intersect(listDuration,listDuration): listDuration
intersect(listBoolean,listBoolean): listBoolean
Gibt eine Liste zurück.
| code language-json |
|---|
|
Gibt [“sports”, “news” zurück]
| code language-json |
|---|
|
Gibt häufige Elemente zwischen Profil-Attributen und der angegebenen Liste von Kategorien zurück.
| code language-json |
|---|
|
Gibt häufige Elemente zwischen Profil-Attributen und angegebenem Ereignis-Feld zurück.
limit limit
Gibt die ersten oder letzten n Elemente einer Liste zurück.
limit(<parameters>)| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| Parameter | Typ | Beschreibung |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly oder listObject | Zu berücksichtigende Liste. Bei listObject muss es sich um einen Feldverweis handeln. |
| numberOfItems | integer | Anzahl der aus der angegebenen Liste zurückzugebenden Elemente. |
| firstOrLastItems | Boolescher Wert | Dieser Parameter ist optional (standardmäßig „true“). „True“ gibt die ersten Elemente zurück. „False“ gibt die letzten Elemente zurück. |
limit(<listString>,<integer>)
limit(<listString>,<integer>,<boolean>)
Gibt eine Liste mit Zeichenfolgen zurück.
limit(<listInteger>,<integer>)
limit(<listInteger>,<integer>,<boolean>)
Gibt eine Liste mit Ganzzahlen zurück.
limit(<listDecimal>,<integer>)
limit(<listDecimal>,<integer>,<boolean>)
Gibt eine Liste mit Dezimalzahlen zurück.
limit(<listBoolean>,<integer>)
limit(<listBoolean>,<integer>,<boolean>)
Gibt eine Liste mit booleschen Werten zurück.
limit(<listDateOnly>,<integer>)
limit(<listDateOnly>,<integer>,<boolean>)
Gibt eine Liste mit Datumsangaben zurück.
limit(<listDateTimeOnly>,<integer>)
limit(<listDateTimeOnly>,<integer>,<boolean>)
Gibt eine Liste mit Datum/Uhrzeit-Werten ohne Berücksichtigung der Zeitzone zurück.
limit(<listDateTime>,integer>)
limit(<listDateTime>,<integer>,<boolean>)
Gibt eine Liste mit Datum/Uhrzeit-Werten zurück.
limit(<listDuration>,<integer>)
limit(<listDuration>,<integer>,<boolean>)
Gibt eine Liste der Dauer zurück.
limit(<listObject>,<integer>)
limit(<listObject>,<integer>,<boolean>)
Gibt eine Liste mit Objekten zurück.
limit(["A", "B", "C", "D", "E"], 3)
Gibt ["A","B","C"] zurück.
limit(["A", "B", "C", "D", "E"], 3, false)
Gibt ["C","D","E"] zurück.
listSize listSize
Zählt die Anzahl der Elemente in der Liste.
listSize(<parameters>)| table 0-row-3 1-row-3 | ||
|---|---|---|
| Parameter | Typ | Beschreibung |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly oder listObject | Zu verarbeitende Liste. Bei listObject muss es sich um einen Feldverweis handeln. Ein listObject kann kein Null-Objekt enthalten. |
listSize(<listInteger>)
listSize(<listDecimal>)
listSize(<listString>)
listSize(<listBoolean>)
listSize(<listDateTimeOnly>)
listSize(<listDateTime>)
listSize(<listDateOnly>)
listSize(<listDuration>)
Gibt eine Ganzzahl zurück.
listSize(<listObject>)
listSize([10,2,3])
Gibt 3 zurück.
listSize(@event{my_event.productListItems})
Gibt die Anzahl der Objekte im angegebenen Array von Objekten zurück (listObject-Typ).
serializeList serializeList
Konvertiert eine angegebene Liste (alle Typen außer listObject) in eine Zeichenfolge.
serializeList(<parameters>)| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| Parameter | Typ | Beschreibung |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly | Liste zur Konvertierung in eine Zeichenfolge. |
| Trennzeichen | string | Trennzeichen zwischen den einzelnen Listenelementen in der Ausgabezeichenfolge. |
| addQuotes | boolean | Dieser Parameter gibt an, ob jedes Element der Ausgabezeichenfolge Anführungszeichen enthalten soll (true) oder nicht (false). |
serializeList(<listInteger>,<string>,<boolean>)
serializeList(<listDecimal>,<string>,<boolean>)
serializeList(<listString>,<string>,<boolean>)
serializeList(<listBoolean>,<string>,<boolean>)
serializeList(<listDateTimeOnly>,<string>,<boolean>)
serializeList(<listDateTime>,<string>,<boolean>)
serializeList(<listDateOnly>,<string>,<boolean>)
serializeList(<listDuration>,<string>,<boolean>)
Gibt eine Zeichenfolge zurück.
serializeList(["Hello","World"], " ", false)
Gibt „Hello World“ zurück.
serializeList(["Hello", "World"], ",", true)
Gibt „“Hello”,“World”“ zurück.
sort sort
Sortiert eine Liste von Werten oder Objekten in ihrer natürlichen Reihenfolge.
sort(<parameters>)| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| Parameter | Typ | Beschreibung |
| listToSort | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly oder listObject | Zu sortierende Liste. Bei listObject muss es sich um einen Feldverweis handeln. |
| keyAttributeName | Zeichenfolge | Dieser Parameter ist nur für listObject. Der Attributname in den Objekten der angegebenen Liste wird als Schlüssel zum Filtern verwendet. |
| sortingOrder | Boolescher Wert | Aufsteigend (true) oder absteigend (false) |
sort(<listInteger>,<boolean>)
Gibt eine Liste mit Ganzzahlen zurück.
sort(<listDecimal>,<boolean>)
Gibt eine Liste mit Dezimalzahlen zurück.
sort(<listString>,<boolean>)
Gibt eine Liste mit Zeichenfolgen zurück.
sort(<listDateTimeOnly>,<boolean>)
Gibt eine Liste mit Datum/Uhrzeit-Werten ohne Berücksichtigung der Zeitzone zurück.
sort(<listDateTime>,<boolean>)
Gibt eine Liste mit Datum/Uhrzeit-Werten zurück.
sort(<listDateOnly>,<boolean>)
Gibt eine Liste mit Datumsangaben zurück.
sort(<listBoolean>,<boolean>)
Gibt eine Liste mit booleschen Werten zurück.
sort(<listObject>,<string>,<boolean>)
Gibt eine Liste mit Objekten zurück.
sort(["A", "C", "B"], true)
Gibt ["A","B","C"] zurück.
sort([1, 3, 2], false)
Gibt [3, 2, 1] zurück.
sort(@event{my_event.productListItems}, "SKU", true)
Gibt das listObject, geordnet nach SKU-Attribut (aufsteigende Reihenfolge), zurück
Dieser Abschnitt enthält strukturiertes Wissen zur Unterstützung von Interpretation, Abrufen und Antworten auf Fragen zu diesem Thema.
Zum vollständigen Verständnis sollten diese Informationen mit der Dokumentation auf dieser Seite kombiniert werden. Keine der beiden Quellen ist für Einzelpersonen gedacht. Die Seite beschreibt die Funktion, während dieser Abschnitt zusätzlichen Kontext bietet, der dabei hilft, Begriffe, Absichten, Anwendbarkeit und Begrenzungen zu unterscheiden.
- TL;DR: Auf dieser Seite werden alle in AJO-Journey-Ausdrücken verfügbaren Listenfunktionen dokumentiert, die das Filtern, Sortieren, Deduplizieren, Überprüfen der Zugehörigkeit, Begrenzen, Serialisieren und Suchen von Schnittpunkten von Listen und Arrays behandeln.
intents:
- Doppelte Werte mithilfe von
distinct(NULL wird ignoriert) oderdistinctWithNull(NULL wird beibehalten) aus einer Liste entfernen - Filtern Sie ein listObject so, dass nur Objekte zurückgegeben werden, die bestimmten Schlüsselwerten entsprechen. Verwenden Sie dazu
filter - Abrufen eines Elements mit einem bestimmten Index aus einer Liste mithilfe von
getListItem - Überprüfen, ob ein Wert in einer Liste vorhanden ist, mithilfe von
in - Suchen nach gemeinsamen Elementen zwischen zwei Listen mithilfe von
intersect - Gibt die ersten oder letzten N Elemente einer Liste mithilfe von
limitzurück. - Zählen der Gesamtzahl der Elemente in einer Liste mithilfe von
listSize - Konvertieren einer Liste in eine durch Trennzeichen getrennte Zeichenfolge mithilfe von
serializeList - Sortieren einer Liste in auf- oder absteigender Reihenfolge mithilfe von
sort
Glossar:
- listObject: Eine Liste komplexer Objekte, die ein Feldverweis sein müssen; darf keine Null-Objekte enthalten (produktspezifisch)
- keyAttributeName: Ein optionaler Zeichenfolgenparameter, der mit
distinct,filterundsortverwendet wird, um zu identifizieren, welches Objektattribut für die Deduplizierung, Filterung oder Sortierung produktspezifisch) verwendet werden soll - intersect: Ein Mengenvorgang, der nur die in beiden Eingabelisten vorhandenen Elemente zurückgibt
Leitplanken:
distinctWithNullunterstützt nicht den<listObject>Parametertypfiltermuss der listObject-Parameter ein Feldverweis sein, kein Inline-LiterallistSizefür listObject muss die Liste ein Feldverweis sein. listObject darf keine Null-Objekte enthaltenserializeListunterstützt denlistObjectnicht
Terminologie:
- Kanonischer Name: Listenfunktionen — Akronym: none — Varianten: Sammlungsfunktionen, Array-Funktionen
- Synonyme: „listSize“ = „count list elements“; „serializeList“ = „join list to string“
- Verwechseln Sie nicht: „distinct“ (ignoriert NULL) ≠ „distinctWithNull“ (behält null als eindeutigen Wert bei)
- Verwechseln Sie nicht: „limit“ mit dem dritten Parameter
true(gibt die ersten N Elemente zurück) ≠ „limit“ mitfalse(gibt die letzten N Elemente zurück) - Nicht verwechseln: „intersect“ (gemeinsame Elemente zwischen zwei Listen) ≠ „filter“ (Elemente, die bestimmten Schlüsselwerten entsprechen)
FAQ:
- F: Wie erhalte ich die ersten 3 Elemente einer Liste? — Verwenden Sie
limit(myList, 3)oderlimit(myList, 3, true). Standardmäßig werden die ersten Elemente zurückgegeben. - F: Wie erhalte ich die letzten 3 Elemente einer Liste? —
limit(myList, 3, false)verwenden. - F: Was ist der Unterschied zwischen
distinctunddistinctWithNull? —distinctignoriert Nullwerte und schließt sie aus dem Ergebnis aus;distinctWithNullbehandelt null als einen eindeutigen Wert und enthält einen Nullwert, wenn NULL vorhanden ist. - F: Kann ich eine Liste von Zeichenfolgen mit
filterfiltern? — Nein,filterfunktioniert nur auflistObject. Verwenden Sie für skalare Listeninoderdistinctfür die Deduplizierung. - F: Wie kann ich überprüfen, ob sich ein Wert in einer Liste befindet? - Verwenden Sie
in(value, myList), das „true“ zurückgibt, wenn der Wert in der Liste gefunden wird. - F: Kann ich listObject nach einem bestimmten Attribut sortieren? — Ja, verwenden Sie
sort(@event{...}, "attributeName", true), wobei der zweite Parameter der Attributname und der dritte die Sortierrichtung ist (true = aufsteigend).