Aggregationsfunktionen aggregation-functions
Aggregationsfunktionen führen Berechnungen für einen Satz von Werten durch und geben ein einziges zusammengefasstes Ergebnis zurück. Mit diesen Funktionen können Sie Daten innerhalb Ihrer Journey-Ausdrücke analysieren, indem Sie Durchschnittswerte berechnen, Minimal- und Maximalwerte ermitteln, Elemente zählen und numerische Werte summieren.
Verwenden Sie Aggregationsfunktionen, wenn Sie Folgendes tun müssen:
- Berechnen von statistischen Werte aus Listen oder Arrays (avg, sum, min, max)
- Zählen von Elementen in Sammlungen (count, countOnlyNull, countWithNull), mit Optionen zum Ein- oder Ausschließen von Nullwerten
- Bestimmen eindeutiger Werte innerhalb von Datensätzen (distinctCount, distinctCountWithNull)
- Treffen von datengestützten Entscheidungen basierend auf berechneten Metriken
Aggregationsfunktionen verarbeiten Nullwerte automatisch entsprechend ihrem spezifischen Verhalten und erleichtern so die Arbeit mit realen Daten, die fehlende oder undefinierte Werte enthalten können.
avg avg
Gibt den Durchschnittswert eines Satzes von Ausdrücken zurück, entweder als Liste oder in Form von zwei Ausdrücken. Nullwerte werden ignoriert.
avg(<parameter>)Unterstützte Typen:
- listInteger
- listDecimal
- decimal
- integer
avg(<listInteger>)
avg(<listDecimal>)
avg(<decimal>,<decimal>)
avg(<decimal>,<integer>)
avg(<integer>,<decimal>)
avg(<integer>,<integer>)
Gibt eine Dezimalzahl zurück.
avg(@event{BarBeacon.inventory},5)
avg([10,3,8])
Gibt 7.0 zurück.
avg(10.2, 3)
Gibt 6.6 zurück.
count count
Zählt die Elemente der Liste, wobei Nullwerte nicht berücksichtigt werden.
count(<listAny>)
count(<listObject>)
| 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. |
count(<listAny>)
Gibt eine Ganzzahl zurück.
count([10,2,10,null])
Gibt 3 zurück.
count(@event{my_event.productListItems})
Gibt die Anzahl der Objekte im angegebenen Array von Objekten zurück (listObject-Typ). Anmerkung: Ein listObject kann kein Null-Objekt enthalten.
countOnlyNull countOnlyNull
Zählt die Zahl der Nullwerte in der Liste.
countOnlyNull(<listAny>)| table 0-row-2 1-row-2 | |
|---|---|
| Parameter | Typ |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly |
countOnlyNull(<listAny>)
Gibt eine Ganzzahl zurück.
countOnlyNull([10,2,10,null])
Gibt 1 zurück.
Hinweis: Beachten Sie, dass der Parameter <listObject> in dieser Funktion nicht unterstützt wird.
countWithNull countWithNull
Zählt alle Elemente der Liste, einschließlich Nullwerten.
countWithNull(<listAny>)| table 0-row-2 1-row-2 | |
|---|---|
| Parameter | Typ |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly |
countWithNull(<listAny>)
Gibt eine Ganzzahl zurück.
countWithNull([10,2,10,null])
Gibt 4 zurück.
Hinweis: Beachten Sie, dass der Parameter <listObject> in dieser Funktion nicht unterstützt wird.
distinctCount distinctCount
Zählt die Anzahl verschiedener Werte, wobei Nullwerte ignoriert werden.
distinctCount(<listAny>)| 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. |
distinctCount(<listAny>)
Gibt eine Ganzzahl zurück.
distinctCount(<listObject>)
distinctCount(<listObject>,<string>)
Gibt eine Liste mit Objekten zurück.
distinctCount([10,2,10,null])
Gibt 2 zurück.
distinctCount(@event{my_event.productListItems})
Gibt die Anzahl der eindeutig voneinander unabhängigen Objekte im angegebenen Array von Objekten (listObject-Typ) zurück.
distinctCount(@event{my_event.productListItems}, "SKU")
Gibt die Anzahl der Objekte mit einem eindeutigen „SKU“-Attributwert{} zurück.
distinctCountWithNull distinctCountWithNull
Zählt die Anzahl verschiedener Werte einschließlich der Nullwerte.
distinctCountWithNull(<listAny>)| table 0-row-2 1-row-2 | |
|---|---|
| Parameter | Typ |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly |
distinctCountWithNull(<listAny>)
Gibt eine Ganzzahl zurück.
distinctCountWithNull([10,2,10,null])
Gibt 3 zurück.
Hinweis: Beachten Sie, dass der Parameter <listObject> in dieser Funktion nicht unterstützt wird.
max max
Gibt den Maximalwert aus einem Satz von Ausdrücken zurück, entweder als Liste oder in Form von zwei Ausdrücken. Nullwerte werden ignoriert.
max(<parameter>)- listDuration
- listInteger
- listDecimal
- listDateTime
- listDateTimeOnly
- listDateOnly
- duration
- integer
- decimal
- dateTime
- dateTimeOnly
max(<listDuration>)
Gibt eine Dauer zurück.
max(<listInteger>)
Gibt eine Dauer zurück.
max(<listDateTimeOnly>)
Gibt einen Datum/Uhrzeit-Wert ohne Berücksichtigung der Zeitzone zurück.
max(<listDateTime>)
Gibt einen Datum/Uhrzeit-Wert zurück.
max(<listDateOnly>)
Gibt ein Datum zurück.
max(<listDecimal>)
Gibt eine Dezimalzahl zurück.
max(<decimal>,<decimal>)
Gibt eine Dezimalzahl zurück.
max(<duration>,<duration>)
Gibt eine Dauer zurück.
max(<dateTime>,<dateTime>)
Gibt einen Datum/Uhrzeit-Wert zurück.
max(<dateTimeOnly>,<dateTimeOnly>)
Gibt einen Datum/Uhrzeit-Wert ohne Berücksichtigung der Zeitzone zurück.
max(<integer>,<integer>)
Gibt eine Ganzzahl zurück.
max(@event{BarBeacon.inventory},5)
max([10,3,8])
Gibt 10 zurück.
max([10,null,8])
Gibt 10 zurück.
min min
Gibt den Minimalwert aus einem Satz von Ausdrücken zurück, entweder als Liste oder in Form von zwei Ausdrücken. Nullwerte werden ignoriert.
min(<parameters>)- listDuration
- listInteger
- listDecimal
- listDateTime
- listDateTimeOnly
- listDateOnly
- duration
- integer
- decimal
- dateTime
- dateTimeOnly
min(<listDuration>)
Gibt eine Dauer zurück.
min(<listInteger>)
Gibt eine Dauer zurück.
min(<listDateTimeOnly>)
Gibt einen Datum/Uhrzeit-Wert ohne Berücksichtigung der Zeitzone zurück.
min(<listDateTime>)
Gibt einen Datum/Uhrzeit-Wert zurück.
min(<listDateOnly>)
Gibt ein Datum zurück.
min(<listDecimal>)
Gibt eine Dezimalzahl zurück.
min(<decimal>,<decimal>)
Gibt eine Dezimalzahl zurück.
min(<duration>,<duration>)
Gibt eine Dauer zurück.
min(<dateTime>,<dateTime>)
Gibt einen Datum/Uhrzeit-Wert zurück.
min(<dateTimeOnly>,<dateTimeOnly>)
Gibt einen Datum/Uhrzeit-Wert ohne Berücksichtigung der Zeitzone zurück.
min(<integer>,<integer>)
Gibt eine Ganzzahl zurück.
min(@event{BarBeacon.inventory},5)
min([10,3,8])
Gibt 3 zurück.
min([10,null,8])
Gibt 8 zurück.
sum sum
Gibt die Summe der Werte eines Satzes von Ausdrücken zurück. Nullwerte werden ignoriert.
sum(<parameters>)- listInteger
- listDecimal
- duration
- integer
- decimal
sum(<listDecimal>)
Gibt eine Dezimalzahl zurück.
sum(<listInteger>)
Gibt eine Ganzzahl zurück.
sum(<integer>,<integer>)
Gibt eine Ganzzahl zurück.
sum(<decimal>,<decimal>)
Gibt eine Dezimalzahl zurück.
sum(@event{BarBeacon.inventory},5)
sum([10,3,8])
Gibt 21 zurück.
sum([10.5,null,8.1])
Gibt 18.6 zurück.
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 aggregation functions available in AJO journey expressions, covering how to compute averages, sums, min/max values, counts, and distinct counts over lists and arrays.
Intents:
- Calculate the average of a list of numeric values using
avg - Sum numeric values in a list or from event fields using
sum - Find the minimum or maximum value in a list using
minormax - Count non-null, null-only, or all elements in a list using
count,countOnlyNull, orcountWithNull - Count distinct values in a list, with or without nulls, using
distinctCountordistinctCountWithNull - Filter unique objects in a listObject by a specific key attribute using
distinctCountwith a key parameter
Glossary:
- listObject: A list of complex objects (field references); cannot contain null objects (product-specific)
- listAny: A list of any supported scalar type (string, boolean, integer, decimal, duration, dateTime, dateTimeOnly, dateOnly) (product-specific)
- Null value: An absent or undefined element in a list; most aggregation functions ignore nulls unless the function explicitly handles them (e.g.,
countOnlyNull,countWithNull,distinctCountWithNull)
Guardrails:
countOnlyNull,countWithNull, anddistinctCountWithNulldo not support the<listObject>parameter typedistinctCounton alistObjectrequires the list to be a field reference, not an inline literalcounton alistObjectrequires the list to be a field reference; a listObject cannot contain null objects
Terminology:
- Canonical name: Aggregation functions — Acronym: none — variants: aggregate functions, collection functions
- Synonyms: “count” = “count non-null elements”; “countWithNull” = “count all elements including nulls”
- Do not confuse: “distinctCount” (ignores nulls) ≠ “distinctCountWithNull” (includes nulls as a distinct value)
FAQ:
- Q: Does
avginclude null values in its calculation? — No,avgignores null values automatically. - Q: What is the difference between
countandcountWithNull? —countexcludes null values from the total, whilecountWithNullcounts every element including nulls. - Q: Can I use
countOnlyNullon a listObject? — No,<listObject>is not supported bycountOnlyNull,countWithNull, ordistinctCountWithNull. - Q: How do I count distinct objects in an array based on a specific attribute? — Use
distinctCount(@event{...}, "attributeName")providing the key attribute name as the second parameter. - Q: What does
maxreturn when the list contains nulls? —maxignores null values and returns the maximum among the non-null elements.