RangeAvg - fonction de script et fonction de graphique
RangeAvg() renvoie la moyenne d'une plage. Vous pouvez saisir une plage de valeurs ou une expression pour cette fonction.
RangeAvg(first_expr[, Expression])
numérique
Les arguments de cette fonction peuvent 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 à mesurer. |
Expression | Expressions ou champs facultatifs contenant la plage de données à mesurer. |
Si la fonction ne trouve aucune valeur numérique, elle renvoie la valeur NULL.
Exemples | Résultats |
---|---|
RangeAvg (1,2,4) |
Renvoie 2.33333333. |
RangeAvg (1,'xyz') | Renvoie 1. |
RangeAvg (null( ), 'abc') | Renvoie NULL. |
Ajoutez l'exemple de script à votre application et exécutez-le. Pour afficher le résultat, ajoutez les champs répertoriés dans la colonne de résultats à une feuille de votre application.
RangeTab3:
LOAD recno() as RangeID, RangeAvg(Field1,Field2,Field3) as MyRangeAvg 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 MyRangeAvg pour chaque enregistrement de la table.
RangeID | MyRangeAvg |
---|---|
1 | 7 |
2 | 4 |
3 | 6 |
4 | 12.666 |
5 | 6.333 |
6 | 5 |
Exemple contenant une expression :
RangeAvg (Above(MyField),0,3))
Renvoie une moyenne mobile du résultat de la plage de trois valeurs de MyField calculée sur la ligne active et les 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 RangeAvg().
Données utilisées dans les exemples :
MyField | RangeAvg (Above(MyField,0,3)) | Comments |
---|---|---|
10 | 10 | Puisqu'il s'agit de la ligne du haut, la plage ne comporte qu'une seule valeur. |
2 | 6 | Il n'y a qu'une seule ligne au-dessus de cette ligne, la plage est donc : 10,2. |
8 | 6.6666666667 | Équivalent de RangeAvg(10,2,8) |
18 | 9.333333333 | - |
5 | 10. 333333333 | - |
9 | 10.6666666667 | - |
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;