RangeMode - función de script y de gráfico
RangeMode() halla el valor que más veces aparece (valor de la moda) en la expresión o campo.
Sintaxis:
RangeMode(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.
- 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.
Limitaciones:
Si más de un valor comparte la frecuencia más alta, devuelve NULL.
Ejemplos:
Ejemplo | Resultado |
---|---|
RangeMode (1,2,9,2,4) |
Devuelve 2 |
RangeMode ('a',4,'a',4) |
Devuelve NULL |
RangeMode (null( )) |
Devuelve NULL |
Ejemplo: (usando expresión)
RangeMode (Above(MyField,0,3))
Devuelve el valor que se da con mayor frecuencia en los tres resultados de la función MyField evaluada en la fila actual y dos filas por encima de la fila actual. Especificando el tercer argumento como 3, la función Above() devuelve tres valores, en los que hay suficientes filas por encima, las cuales se toman como entrada para la función RangeMode().
MyField | RangeMode(Above(MyField,0,3)) |
---|---|
10 | Devuelve 10 porque no hay filas por encima así que el valor único es el que aparece con mayor frecuencia. |
2 | - |
8 | - |
18 | - |
5 | - |
9 | - |
Datos utilizados en los ejemplos:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
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.
RangeTab3:
LOAD recno() as RangeID, RangeMode(Field1,Field2,Field3) as MyRangeMode 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 MyRangeMode para cada uno de los registros de la tabla.
RangeID | MyRangeMode |
---|---|
1 | - |
2 | - |
3 | 8 |
4 | - |
5 | 5 |
6 | - |