Fonctions d’agrégation aggregation-functions
Les fonctions d'agrégation effectuent des calculs sur un ensemble de valeurs et renvoient un seul résultat résumé. Ces fonctions vous permettent d’analyser les données dans vos expressions de parcours en calculant des moyennes, en recherchant des valeurs minimales et maximales, en comptant les éléments et en additionnant les valeurs numériques.
Utilisez des fonctions d’agrégation lorsque vous devez :
- Calculer des valeurs statistiques à partir de listes ou de tableaux (avg, sum, min, max)
- Compter les éléments dans les collections (count, countOnlyNull, countWithNull), avec des options pour inclure ou exclure les valeurs nulles
- Déterminer des valeurs uniques dans les jeux de données (distinctCount, distinctCountWithNull)
- Prendre des décisions axées sur les données en fonction de mesures calculées
Les fonctions d’agrégation gèrent automatiquement les valeurs nulles en fonction de leur comportement spécifique, ce qui facilite l’utilisation des données du monde réel qui peuvent contenir des valeurs manquantes ou non définies.
avg avg
Renvoie la valeur moyenne d’un ensemble d’expressions, exprimée sous la forme d’une liste ou de deux expressions. Les valeurs « null » sont ignorées.
avg(<parameter>)Types pris en charge :
- listInteger
- listDecimal
- Décimal
- Entier
avg(<listInteger>)
avg(<listDecimal>)
avg(<decimal>,<decimal>)
avg(<decimal>,<integer>)
avg(<integer>,<decimal>)
avg(<integer>,<integer>)
Renvoie une valeur décimale.
avg(@event{BarBeacon.inventory},5)
avg([10,3,8])
Renvoie 7,0.
avg(10.2, 3)
Renvoie 6,6.
count count
Compte les éléments de la liste sans tenir compte des valeurs « null ».
count(<listAny>)
count(<listObject>)
| table 0-row-3 1-row-3 | ||
|---|---|---|
| Paramètre | Type | Description |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly, or listObject | Liste à traiter. Pour listObject, il doit s’agir d’une référence de champ. Un listObject ne peut pas contenir d’objet null. |
count(<listAny>)
Renvoie un entier.
count([10,2,10,null])
Renvoie 3.
count(@event{my_event.productListItems})
Renvoie le nombre d’objets dans le tableau d’objets donné (type listObject). Remarque : un objet listObject ne peut pas contenir d’objet null.
countOnlyNull countOnlyNull
Compte le nombre de valeurs « null » dans la liste.
countOnlyNull(<listAny>)| table 0-row-2 1-row-2 | |
|---|---|
| Paramètre | Type |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly |
countOnlyNull(<listAny>)
Renvoie un entier.
countOnlyNull([10,2,10,null])
Renvoie 1.
Remarque : le paramètre <listObject> n’est pas pris en charge dans cette fonction.
countWithNull countWithNull
Compte tous les éléments de la liste, y compris les valeurs « null ».
countWithNull(<listAny>)| table 0-row-2 1-row-2 | |
|---|---|
| Paramètre | Type |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly |
countWithNull(<listAny>)
Renvoie un entier.
countWithNull([10,2,10,null])
Renvoie 4.
Remarque : le paramètre <listObject> n’est pas pris en charge dans cette fonction.
distinctCount distinctCount
Compte le nombre de valeurs différentes en ignorant les valeurs « null ».
distinctCount(<listAny>)| table 0-row-3 1-row-3 2-row-3 | ||
|---|---|---|
| Paramètre | Type | Description |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly, or listObject | Liste à traiter. Pour listObject, il doit s’agir d’une référence de champ. |
| keyAttributeName | Chaîne | Ce paramètre est facultatif et uniquement pour listObject. Si le paramètre n’est pas fourni, un objet est considéré comme dupliqué si tous les attributs ont les mêmes valeurs. Dans le cas contraire, un objet est considéré comme dupliqué si l’attribut donné a la même valeur. |
distinctCount(<listAny>)
Renvoie un entier.
distinctCount(<listObject>)
distinctCount(<listObject>,<string>)
Renvoie une liste d’objets.
distinctCount([10,2,10,null])
Renvoie 2.
distinctCount(@event{my_event.productListItems})
Renvoie le nombre d’objets strictement distincts dans le tableau d’objets donné (type listObject).
distinctCount(@event{my_event.productListItems}, "SKU")
Renvoie le nombre d’objets ayant une valeur d’attribut {} « SKU » distincte.
distinctCountWithNull distinctCountWithNull
Compte le nombre de valeurs différentes, y compris les valeurs « null ».
distinctCountWithNull(<listAny>)| table 0-row-2 1-row-2 | |
|---|---|
| Paramètre | Type |
| listToProcess | listString, listBoolean, listInteger, listDecimal, listDuration, listDateTime, listDateTimeOnly, listDateOnly |
distinctCountWithNull(<listAny>)
Renvoie un entier.
distinctCountWithNull([10,2,10,null])
Renvoie 3.
Remarque : le paramètre <listObject> n’est pas pris en charge dans cette fonction.
max max
Renvoie la valeur maximale d’un ensemble d’expressions, exprimée sous la forme d’une liste ou de deux expressions. Les valeurs « null » sont ignorées.
max(<parameter>)- listDuration
- listInteger
- listDecimal
- listDateTime
- listDateTimeOnly
- listDateOnly
- durée
- Entier
- Décimal
- dateTime
- dateTimeOnly
max(<listDuration>)
Renvoie une durée.
max(<listInteger>)
Renvoie une durée.
max(<listDateTimeOnly>)
Renvoie une date et une heure sans prendre en compte le fuseau horaire.
max(<listDateTime>)
Renvoie une date et une heure.
max(<listDateOnly>)
Renvoie une date.
max(<listDecimal>)
Renvoie une valeur décimale.
max(<decimal>,<decimal>)
Renvoie une valeur décimale.
max(<duration>,<duration>)
Renvoie une durée.
max(<dateTime>,<dateTime>)
Renvoie une date et une heure.
max(<dateTimeOnly>,<dateTimeOnly>)
Renvoie une date et une heure sans prendre en compte le fuseau horaire.
max(<integer>,<integer>)
Renvoie un entier.
max(@event{BarBeacon.inventory},5)
max([10,3,8])
Renvoie 10.
max([10,null,8])
Renvoie 10.
min min
Renvoie la valeur minimale d’un ensemble d’expressions, exprimée sous la forme d’une liste ou de deux expressions. Les valeurs « null » sont ignorées.
min(<parameters>)- listDuration
- listInteger
- listDecimal
- listDateTime
- listDateTimeOnly
- listDateOnly
- durée
- Entier
- Décimal
- dateTime
- dateTimeOnly
min(<listDuration>)
Renvoie une durée.
min(<listInteger>)
Renvoie une durée.
min(<listDateTimeOnly>)
Renvoie une date et une heure sans prendre en compte le fuseau horaire.
min(<listDateTime>)
Renvoie une date et une heure.
min(<listDateOnly>)
Renvoie une date.
min(<listDecimal>)
Renvoie une valeur décimale.
min(<decimal>,<decimal>)
Renvoie une valeur décimale.
min(<duration>,<duration>)
Renvoie une durée.
min(<dateTime>,<dateTime>)
Renvoie une date et une heure.
min(<dateTimeOnly>,<dateTimeOnly>)
Renvoie une date et une heure sans prendre en compte le fuseau horaire.
min(<integer>,<integer>)
Renvoie un entier.
min(@event{BarBeacon.inventory},5)
min([10,3,8])
Renvoie 3.
min([10,null,8])
Renvoie 8.
sum sum
Renvoie la somme des valeurs d’un ensemble d’expressions. Les valeurs « null » sont ignorées.
sum(<parameters>)- listInteger
- listDecimal
- durée
- Entier
- Décimal
sum(<listDecimal>)
Renvoie une valeur décimale.
sum(<listInteger>)
Renvoie un entier.
sum(<integer>,<integer>)
Renvoie un entier.
sum(<decimal>,<decimal>)
Renvoie une valeur décimale.
sum(@event{BarBeacon.inventory},5)
sum([10,3,8])
Renvoie 21.
sum([10.5,null,8.1])
Renvoie 18.6.