Sum - fonction de graphique

Sum() calcule le nombre total de valeurs fournies par l'expression ou le champ sur les données agrégées.

Syntaxe :  

Sum([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] expr)

Type de données renvoyé : numérique

Arguments :  

Argument Description
expr Expression ou champ contenant les données à mesurer.
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 le terme DISTINCT précède les arguments de la fonction, les doublons résultant de l'évaluation des arguments de la fonction sont ignorés.
Remarque: Même si le qualificateur DISTINCT est pris en charge, utilisez-le avec une extrême prudence, car il peut induire le lecteur en erreur, en le laissant supposer qu'une valeur totale est affichée alors que certaines données ont été omises.
TOTAL

Si le terme TOTAL précède les arguments de la fonction, le calcul est effectué à partir de toutes les valeurs possibles au vu des sélections actives, et pas seulement à partir de celles qui sont associées à la valeur dimensionnelle active. Autrement dit, les dimensions du graphique ne sont pas prises en compte.

Le qualificateur TOTAL peut être suivi d'une liste d'un ou de plusieurs noms de champ placés entre crochets angulaires <fld>. Ces noms de champ doivent constituer un sous-ensemble des variables de dimension du graphique.

Voir  : Définition de l'étendue d'une agrégation

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
Canutility AA 8 15
Canutility CC - 19
Exemples Résultats

Sum(UnitSales)

38. Total des valeurs comprises dans UnitSales.

Sum(UnitSales*UnitPrice)

505. Total de la valeur UnitPrice multipliée par les valeurs UnitSales agrégées.

Sum(TOTAL UnitSales*UnitPrice)

505 pour toutes les lignes de la table de même que le total, car le qualificateur TOTAL implique que la somme est toujours égale à 505, quelles que soient les dimensions du graphique.

Sélectionnez Customer B.

Sum({1} TOTAL UnitSales*UnitPrice)

505 est le résultat, quelle que soit la sélection effectuée, car l'expression Set Analysis {1} définit l'ensemble d'enregistrements à évaluer comme ALL sans tenir compte de la sélection.

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

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');