RangeFractile - función de script y de gráfico
RangeFractile() devuelve el valor que corresponde al enésimo fractil (cuantil) de un rango de números.
Sintaxis:
RangeFractile(fractile, first_expr[, Expression])
Tipo de datos que devuelve: numérico
Argumentos:
Los argumentos de esta función pueden contener funciones inter-registro las cuales devuelven un rango de valores por sí mismas.
Argumento | Descripción |
---|---|
fractile | Un número entre 0 y 1 correspondiente al percentil (cuantil expresado como fracción) que se debe calcular. |
first_expr | La expresión o el campo que contiene los datos que se han de medir. |
Expression | Las expresiones o campos opcionales que contienen el rango de datos que se han de medir. |
Ejemplos y resultados:
Ejemplos | Resultados |
---|---|
RangeFractile (0.24,1,2,4,6) | Devuelve 1,72 |
RangeFractile(0.5,1,2,3,4,6) |
Devuelve 3 |
RangeFractile (0.5,1,2,5,6) |
Devuelve 3,5 |
Ejemplo:
Agregue el script de ejemplo en su app y ejecútelo. Para ver el resultado, agregue los campos enumerados en la columna de resultados a una hoja de su app.
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 tabla resultante muestra los valores que devuelve MyRangeFrac por cada uno de los registros de la tabla.
RangeID | MyRangeFrac |
---|---|
1 | 6 |
2 | 3 |
3 | 8 |
4 | 11 |
5 | 5 |
6 | 4 |
Ejemplo con expresión:
RangeFractile (0.5, Above(Sum(MyField),0,3))
En este ejemplo, la función inter-registro Above() contiene los argumentos opcionales offset y count. Esto produce un rango de resultados que puede utilizarse como entrada para cualquiera de las funciones de rango. En este caso, Above(Sum(MyField),0,3) devuelve los valores de MyField para la fila actual y las dos filas superiores. Estos valores proporcionan la entrada para la función RangeFractile(). Por lo tanto, para la fila inferior de la tabla a continuación, esto es el equivalente de RangeFractile(0.5, 3,4,6) es decir, calcular el fractil de 0,5 para las series 3, 4 y 6. Las primeras dos filas de la tabla a continuación, el número de valores en el rango se reduce en consecuencia, donde no hay filas por encima de la fila actual. Se obtendrán resultados similares para las demás funciones inter-registro.
MyField | RangeFractile(0.5, Above(Sum(MyField),0,3)) |
---|---|
1 | 1 |
2 | 1.5 |
3 | 2 |
4 | 3 |
5 | 4 |
6 | 5 |
Datos utilizados en los ejemplos:
RangeTab:
LOAD * INLINE [
MyField
1
2
3
4
5
6
] ;