RangeFractile - función de script y de gráfico
RangeFractile() devuelve el valor que corresponde al enésimo fractile (cuantil) de un rango de números.
Sintaxis:
RangeFractile(fractile, first_expr[, Expression])
Tipo de datos que devuelve: numérico
Argumentos:
El argumento de esta función pueden contener funciones inter-registro, las cuales devuelven un rango de valores por sí mismas.
- 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:
Ejemplo | Resultado |
---|---|
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: (usando 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 dos filas por encima. Estos valores sirven de entrada para la función RangeFractile(). Por lo tanto, para la fila inferior de la tabla a continuación, esto es equivalente a 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 del rango, se reduce en consecuencia, donde no haya 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
] ;
Ejemplo: (en forma de tabla)
Añada el script de ejemplo a su documento y ejecútelo. A continuación, añada como mínimo los campos de la columna de resultados a una hoja de su documento para ver el resultado.
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 devueltos de MyRangeFrac para cada uno de los registros de la tabla.
RangeID | MyRangeFrac |
---|---|
1 | 6 |
2 | 3 |
3 | 8 |
4 | 11 |
5 | 5 |
6 | 4 |