Macro GROUPBY

Le GROUPBY est disponible uniquement dans Unica Campaign.

Syntaxe

GROUPBY(group_field, keyword, rolled_field [,output_field])

Paramètres

  • group_field

    Indique la variable sur laquelle les enregistrements sont regroupés (toutes les valeurs identiques de la variable spécifiée sont regroupées ensemble).

  • keyword

    Indique la fonction de cumul récapitulatif à effectuer sur rolled-field.

  • rolled_field

    Indique la variable à récapituler ou cumuler.

  • output_field

    Identifie une variable de remplacement à renvoyer pour une ligne d'un groupe et ne pouvant être utilisée qu'avec les mots clés MinOf, MaxOf et MedianOf.

Description

GROUPBY récapitule plusieurs lignes de données dans un groupe La sortie de cette fonction est une colonne unique. La sortie est le résultat de l'opération spécifiée par keyword sur la zone rolled_field du groupe homogène spécifié par group_field. S'il existe plusieurs réponses correspondant à une condition spécifiée, la première détectée est renvoyée.

Si le paramètre facultatif output_field n'est pas fourni, la sortie est le résultat de l'opération sur rolled_field. Si output_field est fourni, le résultat est la zone output_field de la ligne dans le groupe.

Si plusieurs lignes d'un groupe répondent à la condition spécifiée (par exemple, il existe des liens pour la valeur max), la zone output-field associée à la première ligne remplissant la condition est renvoyée.

Remarque : Pour effectuer un groupement sur plusieurs colonnes, vous pouvez placer entre accolades "{ }" une liste de noms de zone, séparés par des virgules, et utiliser cette liste comme premier paramètre de l'appel de macro GROUPBY.

Les mots clés pris en charge sont les suivants (casse indifférente) :

Mot clé

Chaîne ?

Oui/Non

Description
CountOf Yes Renvoie le nombre d'enregistrements de chaque groupe (rolled_field peut être de type numérique ou chaîne ; la valeur renvoyée est la même quelle que soit la valeur de rolled_field).
MinOf Yes Renvoie la valeur minimale de rolled_field dans chaque groupe (rolled_field peut être de type numérique ou chaîne. Si rolled_field est une chaîne, la valeur la plus proche du début de l'alphabet (pour un tri alphabétique) est renvoyée).
MaxOf Yes Renvoie la valeur maximale de rolled_field dans chaque groupe (rolled_field peut être de type numérique ou chaîne. Si rolled_field est une chaîne, la valeur la plus proche de la fin de l'alphabet (pour un tri alphabétique) est renvoyée).
DiffOf Yes Renvoie le nombre de valeurs distinctes de rolled_field dans chaque groupe (rolled_field peut être de type numérique ou chaîne).
AvgOf No Renvoie la valeur moyenne de rolled_field dans chaque groupe (rolled_field doit être numérique).
ModeOf Yes Renvoie la valeur modale (à savoir, la valeur la plus fréquente) de rolled_field dans chaque groupe (rolled_field peut être de type numérique ou chaîne).
MedianOf Yes Renvoie la valeur médiane (à savoir, la valeur du milieu lors d'un tri en fonction de rolled_field) de rolled_field dans chaque groupe (rolled_field peut être de type numérique ou chaîne. Si rolled_field est une chaîne, les valeurs sont triées par ordre alphabétique).
OrderOf Yes Renvoie l'ordre de rolled_field dans chaque groupe (rolled_field doit être numérique). Si plusieurs enregistrements ont la même valeur, ils reçoivent tous la même valeur.
SumOf No Renvoie la somme de rolled_field dans chaque groupe (rolled_field doit être numérique).
StdevOf No Renvoie l'écart type de rolled_field dans chaque groupe (rolled_field doit être numérique).
IndexOf Yes

Renvoie l'index de base 1 (trié par rolled_field) de chaque enregistrement (rolled_field peut être de type numérique ou chaîne). L'ordre de tri est croissant.

Remarque : pour les zones numériques, l'ordre de tri de RankOf et IndexOf peut être décroissant, si l'on place un signe moins (-) devant la zone de tri.

RankOf Yes

Renvoie la catégorie de base 1 (triée par rolled_field) dans laquelle se trouve chaque enregistrement (rolled_field peut être de type numérique ou chaîne). L'ordre de tri est croissant.

Remarque : pour les zones numériques, l'ordre de tri de RankOf et IndexOf peut être décroissant, si l'on place un signe moins (-) devant la zone de tri.

Exemples

GROUPBY (Household_ID, SumOf, Account_Balance)

Calcule la somme de tous les soldes de compte par ménage.

GROUPBY (Cust_ID, MinOf, Date(Account_Open_Date), Acc_Num)

Renvoie le numéro de compte du premier compte ouvert par le client.