RangeFractile - fonction de script et fonction de graphique
RangeFractile() renvoie la valeur correspondant au énième fractile (quantile) d'une plage de nombres.
RangeFractile(fractile, 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 |
---|---|
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. |
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. |
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.
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 |
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
] ;