RangeFractile Fonction de script et 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(). Ainsi, pour la dernière ligne du tableau ci-dessous, cela équivaut à RangeFractile(0.5, 3,4,6), c'est-à-dire, au calcul du fractile 0.5 pour la série 3, 4 et 6. Pour les deux premières lignes du tableau ci-dessous, le nombre de valeurs de la plage est réduit en conséquence, là où il n'existe 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
] ;