Aggr - fonction de graphique
Aggr() renvoie un tableau de valeurs pour l'expression calculée au moyen de la ou des dimensions définies. Par exemple, la valeur maximale de ventes, par client et par région.
La fonction Aggr est utilisée pour les agrégations imbriquées dans lesquelles le première paramètre (l'agrégation interne) est calculé une fois par valeur dimensionnelle. Les dimensions sont spécifiées dans le deuxième paramètre (et les paramètres suivants).
De plus, la fonction Aggr doit être imbriquée dans une fonction d'agrégation externe en utilisant le tableau de résultats provenant de la fonction Aggr comme entrée de l'agrégation dans laquelle elle est imbriquée.
Aggr({SetExpression}[DISTINCT] [NODISTINCT ] expr, StructuredParameter{, StructuredParameter})
double
Argument | Description |
---|---|
expr |
Expression composée d'une fonction d'agrégation. Par défaut, la fonction d'agrégation couvre l'ensemble des enregistrements possibles définis par la sélection. |
StructuredParameter |
StructuredParameter se compose d'une dimension et éventuellement de critères de tri au format suivant : (Dimension(Sort-type, Ordering)) La dimension est un champ unique et ne peut pas être une expression. La dimension permet de déterminer le tableau de valeurs pour lequel l'expression Aggr est calculée. Si des critères de tri sont inclus, le tableau de valeurs créé par la fonction Aggr, calculé pour la dimension, est trié. Ceci est important lorsque l'ordre de tri affecte le résultat de l'expression dans laquelle la fonction Aggr est incluse. Pour en savoir plus sur l'utilisation des critères de tri, reportez-vous à la rubrique Ajout de critères de tri à la dimension dans le paramètre structuré. |
SetExpression | Par défaut, la fonction d'agrégation couvre l'ensemble des enregistrements possibles définis par la sélection. Il est possible de définir un ensemble d'enregistrements alternatif à l'aide d'une expression d'analyse d'ensembles. |
DISTINCT |
Si l'argument expression est précédé du qualificateur distinct ou si aucun qualificateur n'est utilisé, chaque combinaison de valeurs de dimension génère une seule valeur de retour. Il s'agit du mode de création standard des agrégations ; chaque combinaison distincte de valeurs de dimension correspond à une ligne dans le graphique. |
NODISTINCT |
Si l'argument expression est précédé du qualificateur nodistinct, chaque combinaison de valeurs de dimension peut, suivant la structure de données sous-jacente, générer plusieurs valeurs de retour. En présence d'une seule dimension, la fonction aggr renvoie un tableau comprenant autant d'éléments que les données de la source comportent de lignes. |
Les fonctions d'agrégation de base (telles que Sum, Min et Avg) renvoient une valeur numérique unique, tandis que la fonction Aggr() est comparable à la création d'un ensemble de résultats graduel temporaire (table virtuelle), sur lequel une autre agrégation peut être effectuée. Par exemple, lorsque vous calculez une valeur de vente moyenne en additionnant les ventes par client dans une instruction Aggr(), puis en calculant la moyenne des résultats additionnés : Avg(TOTAL Aggr(Sum(Sales),Customer)).
Dans une fonction Aggr(), chaque dimension doit consister en un seul champ et être différente d'une expression (dimension calculée).
Ajout de critères de tri à la dimension dans le paramètre structuré
Dans sa forme de base, l'argument StructuredParameter dans la syntaxe de la fonction Aggr est une dimension unique. L'expression Aggr(Sum(Sales, Month)) détermine la valeur totale des ventes pour chaque mois. Toutefois, lorsqu'elle est incluse dans une autre fonction d'agrégation, des résultats inattendus peuvent survenir si aucun critère de tri n'est utilisé. En effet, certaines dimensions peuvent être triées par ordre numérique ou alphabétique, et ainsi de suite.
Dans l'argument StructuredParameter de la fonction Aggr, vous pouvez indiquer des critères de tri sur la dimension dans votre expression. De cette manière, vous imposez un ordre de tri sur la table virtuelle qui est créée par la fonction Aggr.
L'argument StructuredParameter présente la syntaxe suivante :
(FieldName, (Sort-type, Ordering))
Les paramètres structurés peuvent être imbriqués :
(FieldName, (FieldName2, (Sort-type, Ordering)))
Les types de tri possibles sont les suivants : NUMERIC, TEXT, FREQUENCY ou LOAD_ORDER.
Les types de classement associés à chaque type de tri sont les suivants :
Type de tri | Types de classement autorisés |
---|---|
NUMERIC | ASCENDING, DESCENDING ou REVERSE |
TEXT | ASCENDING, A2Z, DESCENDING, REVERSE ou Z2A |
FREQUENCY | DESCENDING, REVERSE ou ASCENDING |
LOAD_ORDER | ASCENDING, ORIGINAL, DESCENDING ou REVERSE |
Les types de classement REVERSE et DESCENDING sont équivalents.
Pour le type de tri TEXT, les types de classement ASCENDING et A2Z sont équivalents, et DESCENDING, REVERSE et Z2A sont équivalents.
Pour le type de tri LOAD_ORDER, les types de classement ASCENDING et ORIGINAL sont équivalents.