Conférence mondiale QlikWorld 2020. Rejoignez-nous et découvrez comment tirer le meilleur parti de vos données. Faites vite. Enregistrez-vous maintenant et faites des économies.

RangeFractile - fonction de script et fonction de graphique

RangeFractile() renvoie la valeur correspondant au énième fractile (quantile) d'une plage de nombres.

Remarque: RangeFractile() utilise une interpolation linéaire entre les classements les plus proches lors du calcul du fractile.

Syntax:  

RangeFractile(fractile, 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
fractile Nombre compris entre 0 et 1 correspondant au fractile (quantile exprimé sous forme de fraction) à calculer.
first_expr Expression ou champ contenant les données à mesurer.
Expression Expressions ou champs facultatifs contenant la plage de données à mesurer.

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.

RangeTab:

LOAD recno() as RangeID, RangeFractile(0.5,Field1,Field2,Field3) as MyRangeFrac 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 MyRangeFrac pour chaque enregistrement de la table.
RangeID MyRangeFrac
1 6
2 3
3 8
4 11
5 5
6 4

Examples and results:  

Exemples Résultats
RangeFractile (0.24,1,2,4,6) Renvoie 1.72.
RangeFractile(0.5,1,2,3,4,6)

Renvoie 3.

RangeFractile (0.5,1,2,5,6)

Renvoie 3.5.

Exemple contenant une expression :

RangeFractile (0.5, Above(Sum(MyField),0,3))

Dans cet exemple, la fonction d'inter-enregistrements Above() contient les arguments offset et count facultatifs. Vous obtenez une plage de résultats pouvant être utilisés comme données d'entrée dans les fonctions de plage. Dans le cas présent, Above(Sum(MyField),0,3) renvoie les valeurs de MyField pour la ligne active et les deux lignes au-dessus. Ces valeurs servent de données d'entrée dans la fonction RangeFractile(). Donc, pour la ligne du bas de la table ci-dessous, il s'agit de l'équivalent de la fonction RangeFractile(0.5, 3,4,6), c'est-à-dire le calcul du fractile 0.5 pour les séries 3, 4 et 6. Dans les deux premières lignes de la table ci-dessous, le nombre de valeurs de la plage est réduit en conséquence, lorsqu'il n'y a pas de lignes au-dessus de la ligne active. Des résultats similaires sont obtenus pour les autres fonctions d'inter-enregistrements.

MyField RangeFractile(0.5, Above(Sum(MyField),0,3))
1 1
2 1.5
3 2
4 3
5 4
6 5

Données utilisées dans les exemples :

RangeTab:

LOAD * INLINE [

MyField

1

2

3

4

5

6

] ;