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)
  • Führen Sie bestimmte Vorgänge durch, z. B. Suchen nach gemeinsamen Elementen zwischen Listen intersect, Kombinieren von Listen mergeLists) oder Subtrahieren einer Liste von einer anderen (differenzLists)

Listenfunktionen bieten leistungsstarke Tools für die Arbeit mit komplexen Datenstrukturen und ermöglichen so eine ausgefeilte Datenbearbeitung und Bedingungslogik basierend auf Sammlungsinhalten.

DifferenceLists differenceLists

Gibt die Elemente der ersten Liste zurück, die nicht in der zweiten Liste vorhanden sind (festgelegte Differenz: list 1 - list 2). Null-Einträge werden übersprungen. Das Ergebnis entfernt immer doppelte Werte und behält die Einfügereihenfolge der ersten Liste bei.

Syntax
differenceLists(<parameters>)
Parameter
table 0-row-3 1-row-3 2-row-3
Parameter Typ Beschreibung
Liste 1 listString, listInteger, listDecimal, listBoolean, listDuration, listDateTime, listDateTimeOnly oder listDateOnly Liste, von der subtrahiert werden soll.
Liste 2 Gleiche Art wie Liste 1. Liste der aus Liste 1 zu entfernenden Elemente.
Signaturen und zurückgegebene Typen

differenceLists(listString,listString): listString

differenceLists(listInteger,listInteger): listInteger

differenceLists(listDecimal,listDecimal): listDecimal

differenceLists(listBoolean,listBoolean): listBoolean

differenceLists(listDuration,listDuration): listDuration

differenceLists(listDateTime,listDateTime): listDateTime

differenceLists(listDateTimeOnly,listDateTimeOnly): listDateTimeOnly

differenceLists(listDateOnly,listDateOnly): listDateOnly

Beispiele
code language-json
differenceLists(['a','b','c'], ['b'])

Gibt ['a','c'] zurück.

code language-json
differenceLists(['a','a','b'], [])

Gibt ['a','b'] zurück.

code language-json
differenceLists([], ['a'])

Gibt [] zurück.

distinct distinct

Gibt die unterschiedlichen Werte oder Objekte einer angegebenen Liste zurück. Einträge mit Null werden ignoriert.

Syntax
distinct(<parameters>)
Parameter
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.
Signaturen und zurückgegebene Typen

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.

Beispiele

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.

Syntax
distinctWithNull(<parameters>)
Parameter
table 0-row-3 1-row-3
Parameter Typ Beschreibung
listToProcess listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly Zu verarbeitende Liste.
Signaturen und zurückgegebene Typen

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.

Beispiele

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.

Syntax
filter(<parameters>)
Parameter
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
Signaturen und zurückgegebene Typen

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.

Beispiele

Hier ist ein Beispiel für eine Payload, die in einem eingehenden Ereignis „myevent“ übergeben wird:

code language-json
"productListItems": [{
   "id": "product1",
   "name": "the product 1",
   "price": 20
},{
   "id": "product2",
   "name": "the product 2",
   "price": 30
},{
   "id": "product3",
   "name": "the product 3",
   "price": 50
}]

Sie können den folgenden Ausdruck verwenden:

code language-json
filter(
 @event{myevent.productListItems},
 "id",
 ["product2", "product3", "product4"]
)

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.

Syntax
getListItem(<parameters>)
Parameter
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
Signaturen und zurückgegebener Typ

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.

Beispiele

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.

Syntax
in(<parameters>)
Parameter
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
Signatur und zurückgegebener Typ

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.

Beispiele

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.

Syntax
intersect(<parameters>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Liste 1 Liste
Liste 2 Liste
Signaturen und zurückgegebene Typen

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.

Beispiele
code language-json
intersect(
    ["sports", "news", "documentary"],
    ["sports", "movies", "documentary"]
)

Gibt [“sports”, “news” zurück]

code language-json
intersect(
    #{ExperienceDataPlatform.profile.interests},
    ["sports", "documentary"]
)

Gibt häufige Elemente zwischen Profil-Attributen und der angegebenen Liste von Kategorien zurück.

code language-json
intersect(
    #{ExperienceDataPlatform.profile.interests},
        @event{myEvent.sport_interests}
)

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.

Syntax
limit(<parameters>)
Parameter
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.
Signatur und zurückgegebener Typ

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.

Beispiele

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.

Syntax
listSize(<parameters>)
Parameter
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.
Signaturen und zurückgegebener Typ

listSize(<listInteger>)

listSize(<listDecimal>)

listSize(<listString>)

listSize(<listBoolean>)

listSize(<listDateTimeOnly>)

listSize(<listDateTime>)

listSize(<listDateOnly>)

listSize(<listDuration>)

Gibt eine Ganzzahl zurück.

listSize(<listObject>)

Beispiele

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).

mergeLists mergeLists

Kombiniert zwei Listen. Wenn deduplicate true ist, wird die Vereinigung der beiden Listen mit entfernten doppelten Werten zurückgegeben. Wenn deduplicate false ist, gibt die Verkettung der beiden Listen zurück (Elemente von Liste 1 gefolgt von Elementen von Liste 2), wobei Duplikate beibehalten werden. Null-Einträge werden übersprungen.

Hinweis: Der deduplicate-Parameter muss ein true oder ein false sein, kein dynamischer boolescher Ausdruck.

Syntax
mergeLists(<parameters>)
Parameter
table 0-row-3 1-row-3 2-row-3 3-row-3
Parameter Typ Beschreibung
Liste 1 listString, listInteger, listDecimal, listBoolean, listDuration, listDateTime, listDateTimeOnly oder listDateOnly Erste Liste. Seine Elemente werden zuerst zum Ergebnis hinzugefügt.
Liste 2 Gleiche Art wie Liste 1. Zweite Liste. Die darin enthaltenen Elemente werden nach den Elementen der Liste 1 hinzugefügt.
deduplizieren Boolesches Literal true gibt die Vereinigung beider Listen mit entfernten Duplikaten zurück. false gibt die Verkettung beider Listen zurück, wobei Duplikate beibehalten werden. Muss ein wörtliches true oder false sein.
Signaturen und zurückgegebene Typen

mergeLists(listString,listString,boolean): listString

mergeLists(listInteger,listInteger,boolean): listInteger

mergeLists(listDecimal,listDecimal,boolean): listDecimal

mergeLists(listBoolean,listBoolean,boolean): listBoolean

mergeLists(listDuration,listDuration,boolean): listDuration

mergeLists(listDateTime,listDateTime,boolean): listDateTime

mergeLists(listDateTimeOnly,listDateTimeOnly,boolean): listDateTimeOnly

mergeLists(listDateOnly,listDateOnly,boolean): listDateOnly

Beispiele
code language-json
mergeLists(['a','b'], ['b','c'], true)

Gibt ['a','b','c'] zurück.

code language-json
mergeLists(['a','b'], ['b','c'], false)

Gibt ['a','b','b','c'] zurück.

serializeList serializeList

Konvertiert eine angegebene Liste (alle Typen außer listObject) in eine Zeichenfolge.

Syntax
serializeList(<parameters>)
Parameter
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).
Signatur und zurückgegebener Typ

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.

Beispiele

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.

Syntax
sort(<parameters>)
Parameter
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)
Signatur und zurückgegebener Typ

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.

Beispiele

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

AI Knowledge Reference

This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.

For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.

  • TL;DR: This page documents all list functions available in AJO journey expressions, covering how to filter, sort, deduplicate, check membership, limit, serialize, merge, subtract, and find intersections of lists and arrays.

Intents:

  • Remove duplicate values from a list using distinct (ignoring nulls) or distinctWithNull (preserving nulls)
  • Filter a listObject to return only objects matching specific key values using filter
  • Retrieve an element at a specific index from a list using getListItem
  • Check whether a value exists in a list using in
  • Find common elements between two lists using intersect
  • Combine two lists, with or without deduplication, using mergeLists
  • Subtract one list from another (set difference) using differenceLists
  • Return the first or last N elements of a list using limit
  • Count the total number of elements in a list using listSize
  • Convert a list to a delimited string using serializeList
  • Sort a list in ascending or descending order using sort

Glossary:

  • listObject: A list of complex objects that must be a field reference; cannot contain null objects (product-specific)
  • keyAttributeName: An optional string parameter used with distinct, filter, and sort to identify which object attribute to use for deduplication, filtering, or sorting (product-specific)
  • intersect: A set operation returning only the elements present in both input lists
  • mergeLists: A set operation returning the union (deduplicated) or concatenation (with duplicates) of two lists, depending on the deduplicate parameter (product-specific)
  • differenceLists: A set operation returning the items of the first list that are not present in the second list (product-specific)

Guardrails:

  • distinctWithNull does not support the <listObject> parameter type
  • filter requires the listObject parameter to be a field reference, not an inline literal
  • listSize on a listObject requires the list to be a field reference; a listObject cannot contain null objects
  • serializeList does not support the listObject type
  • mergeLists and differenceLists only support scalar list types (string, integer, decimal, boolean, dateTime, dateTimeOnly, dateOnly, duration); listObject is not supported
  • mergeLists’s deduplicate parameter must be a literal true/false, not a dynamic boolean expression
  • differenceLists always deduplicates its result; there is no option to keep duplicates

Terminology:

  • Canonical name: List functions — Acronym: none — variants: collection functions, array functions
  • Synonyms: “listSize” = “count list elements”; “serializeList” = “join list to string”
  • Do not confuse: “distinct” (ignores nulls) ≠ “distinctWithNull” (preserves null as a distinct value)
  • Do not confuse: “limit” with third parameter true (returns first N items) ≠ “limit” with false (returns last N items)
  • Do not confuse: “intersect” (common elements between two lists) ≠ “filter” (elements matching specific key values)
  • Do not confuse: “mergeLists” (combines two lists, union or concatenation) ≠ “differenceLists” (subtracts one list from another) ≠ “intersect” (common elements only)

FAQ:

  • Q: How do I get the first 3 items of a list? — Use limit(myList, 3) or limit(myList, 3, true); the default is to return the first items.
  • Q: How do I get the last 3 items of a list? — Use limit(myList, 3, false).
  • Q: What is the difference between distinct and distinctWithNull?distinct ignores null values and excludes them from the result; distinctWithNull treats null as a distinct value and includes one null entry if any nulls are present.
  • Q: Can I filter a list of strings with filter? — No, filter only works on listObject; for scalar lists use in or distinct for deduplication.
  • Q: How do I check if a value is in a list? — Use in(value, myList), which returns true if the value is found in the list.
  • Q: Can I sort a listObject by a specific attribute? — Yes, use sort(@event{...}, "attributeName", true) where the second parameter is the attribute name and the third is the sort direction (true = ascending).
  • Q: How do I combine two lists and remove duplicates? — Use mergeLists(list1, list2, true).
  • Q: How do I combine two lists but keep duplicate values? — Use mergeLists(list1, list2, false).
  • Q: How do I find the items in one list that are not in another? — Use differenceLists(list1, list2), which returns the items of list1 not present in list2.
  • Q: What is the difference between intersect and differenceLists?intersect returns items common to both lists; differenceLists returns items in the first list that are absent from the second list.
recommendation-more-help
journey-optimizer-help