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 s'emploie dans le cadre d'agrégations avancées, dans lesquelles la fonction Aggr est imbriquée dans une autre fonction d'agrégation, en utilisant un tableau de résultats provenant de la fonction Aggr comme données d'entrée pour l'agrégation dans laquelle elle est imbriquée.

Syntaxe :  

Aggr({[DISTINCT] [NODISTINCT ]} expr, dim{, dimension})

Type de données renvoyé : double

Arguments :  

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.

dim Dimension pour laquelle le tableau de valeurs de l'expression est déterminé. Il s'agit d'un champ unique ; il ne peut pas s'agir d'une expression.
dimension Facultatif. Une ou plusieurs dimensions supplémentaires par lesquelles il est possible d'étendre l'expression.
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 temporaire de résultats présentés sur lequel une autre agrégation peut être réalisée. Par exemple, lorsque vous calculez une valeur de ventes moyenne en additionnant les ventes par clients dans une instruction Aggr() puis calculez la moyenne des résultats additionnés : Avg(TOTAL Aggr(Sum(Sales), Customer)).

Conseil: Si vous souhaitez créer une agrégation de graphiques imbriqués à plusieurs niveaux, utilisez cette fonction dans les dimensions calculées.

Limitations :  

Chaque dimension doit consister en un seul champ et ne peut pas être une expression (dimension calculée).

Exemples et résultats :

Customer Product UnitSales UnitPrice
Astrida AA 4 16
Astrida AA 10 15
Astrida BB 9 9
Betacab BB 5 10
Betacab CC 2 20
Betacab DD 25 25
Canutility AA 8 15
Canutility CC - 19

Créez une table dotée des dimensions Customer, Product, UnitPrice et UnitSales.

Exemple Résultat
Avg(Aggr(Sum(UnitSales*UnitPrice), Customer))

Ajoutez à la table l'expression en tant que mesure. Les valeurs de Aggr(Sum(UnitSales*UnitPrice), Customer). Cela permet d'obtenir la valeur totale des ventes par client (Customer) et renvoie un tableau de valeurs : 295, 715 et 120 pour les trois valeurs Customer.

Ces valeurs sont utilisées comme données d'entrée dans la fonction Avg() pour trouver la valeur moyenne des ventes, 376.6667. (Totaux doit être sélectionné sous Présentation dans le panneau des propriétés.

Données utilisées dans les exemples :

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD|25|25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');