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.
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 Aggregationsfunktionen dokumentiert, die die Berechnung von Durchschnittswerten, Summen, Min-/Max-Werten, Zählungen und eindeutigen Zählungen im Vergleich zu Listen und Arrays umfassen.
intents:
- Berechnen des Durchschnitts einer Liste numerischer Werte mithilfe von
avg - Summe numerischer Werte in einer Liste oder aus Ereignisfeldern mithilfe von
sum - Suchen des minimalen oder maximalen Werts in einer Liste mithilfe von
minodermax - Nicht-Null-, Nur-Null- oder alle Elemente in einer Liste mithilfe von
count,countOnlyNullodercountWithNullzählen - Zählen unterschiedlicher Werte in einer Liste, mit oder ohne NULL, mithilfe von
distinctCountoderdistinctCountWithNull - Filtern von eindeutigen Objekten in einem listObject nach einem bestimmten Schlüsselattribut mithilfe von
distinctCountmit einem Schlüsselparameter
Glossar:
- listObject: Eine Liste komplexer Objekte (Feldverweise); darf keine Null-Objekte enthalten (produktspezifisch)
- listAny: Eine Liste eines beliebigen unterstützten Skalartyps (Zeichenfolge, Boolesch, Ganzzahl, Dezimalzahl, Dauer, DatumUhrzeit, DatumUhrzeitNur, DatumNur) (produktspezifisch)
- Nullwert: Ein fehlendes oder nicht definiertes Element in einer Liste. Die meisten Aggregationsfunktionen ignorieren NULL, es sei denn, die Funktion verarbeitet sie explizit (z. B.
countOnlyNull,countWithNull,distinctCountWithNull).
Leitplanken:
countOnlyNull,countWithNullunddistinctCountWithNullunterstützen nicht den Parametertyp<listObject>distinctCountauf einemlistObjectmuss die Liste ein Feldverweis sein, kein Inline-Literalcountauf einemlistObjectmuss die Liste ein Feldverweis sein. Ein listObject darf keine Null-Objekte enthalten
Terminologie:
- Kanonischer Name: Aggregationsfunktionen — Akronym: none — Varianten: Aggregatfunktionen, Sammlungsfunktionen
- Synonyme: „count“ = „count Elemente ungleich null“; „countWithNull“ = „count alle Elemente einschließlich NULL“
- Verwechseln Sie nicht: „distinctCount“ (ignoriert NULL) ≠ „distinctCountWithNull“ (enthält NULL als eindeutigen Wert)
FAQ:
- F: Enthält
avgNullwerte in ihre Berechnung? — Nein,avgignoriert Nullwerte automatisch. - F: Was ist der Unterschied zwischen
countundcountWithNull? —countschließt Nullwerte aus der Summe aus, währendcountWithNulljedes Element einschließlich Nullwerten zählt. - F: Kann ich
countOnlyNullfür ein listObject verwenden? — Nein,<listObject>wird voncountOnlyNull,countWithNulloderdistinctCountWithNullnicht unterstützt. - F: Wie zähle ich verschiedene Objekte in einem Array basierend auf einem bestimmten Attribut? — Verwenden Sie
distinctCount(@event{...}, "attributeName")Angabe des Namens des Schlüsselattributs als zweiten Parameter. - F: Was gibt
maxzurück, wenn die Liste NULL enthält? —maxignoriert Nullwerte und gibt das Maximum unter den Elementen zurück, die nicht null sind.