RangeSum - fonction de script et fonction de graphique

RangeSum() renvoie la somme d'une plage de valeurs. Toutes les valeurs non numériques sont traitées comme des 0, contrairement aux résultats de l'opérateur +.

Syntaxe :  

RangeSum(first_expr[, Expression])

Type de données renvoyé : numérique

Arguments :  

L'argument de cette fonction peut contenir des fonctions d'inter-enregistrements, qui renvoient à leur tour une liste de valeurs.

Argument Description
first_expr Expression ou champ contenant les données à additionner.
Expression Expressions ou champs facultatifs contenant des données supplémentaires à additionner. Il est possible d'utiliser plusieurs expressions supplémentaires.

Limitations :  

La fonction RangeSum traite toutes les valeurs non numériques comme des 0, contrairement à l'opérateur +.

Exemples et résultats :  

Exemples Résultats
RangeSum (1,2,4)

Renvoie 7.

RangeSum (5,'abc') Renvoie 5.
RangeSum (null( ))

Renvoie 0.

Ajoutez l'exemple de script à votre document et exécutez-le. Ensuite, ajoutez au moins les champs répertoriés dans la colonne des résultats à une feuille de votre document afin de visualiser le résultat.

RangeTab3:

LOAD recno() as RangeID, Rangesum(Field1,Field2,Field3) as MyRangeSum INLINE [

Field1, Field2, Field3

10,5,6

2,3,7

8,2,8

18,11,9

5,5,9

9,4,2

];

La table résultante affiche les valeurs renvoyées par la fonction MyRangeSum pour chaque enregistrement de la table.
RangeID MyRangeSum
1 21
2 12
3 18
4 38
5 19
6 15

Exemple contenant une expression :

RangeSum (Above(MyField,0,3))

Renvoie la somme des trois valeurs de MyField) : à partir de la ligne active et des deux lignes au-dessus. En spécifiant 3 pour le troisième argument, la fonction Above() renvoie trois valeurs, s'il y a suffisamment de lignes au-dessus, utilisées comme données d'entrée dans la fonction RangeSum().

Données utilisées dans les exemples :

Conseil: Désactivez la fonction de tri de MyField pour vous assurer que l'exemple fonctionne comme prévu.
MyField RangeSum(Above(MyField,0,3))
10 10

2

12
8 20
18 28
5 31
9 32

Données utilisées dans les exemples :

RangeTab:

LOAD * INLINE [

MyField

10

2

8

18

5

9

] ;