QlikWorld 2020 Global Conference. Join us to discover how to get the most from your data. Act fast. Register now and save.

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.

Syntax:  

RangeAvg(first_expr[, Expression])

Return data type: numérique

Arguments:  

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.

Limitations:  

Si la fonction ne trouve aucune valeur numérique, elle renvoie la valeur NULL.

Examples and results:  

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. Ensuite, ajoutez au moins les champs répertoriés dans la colonne des résultats à une feuille de votre application afin de visualiser le résultat.

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 :

Conseil: Désactivez la fonction de tri de MyField pour vous assurer que l'exemple fonctionne comme prévu.
MyField RangeAvg (Above(MyField,0,3))  
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

] ;