RangeMode - función de script y de gráfico
RangeMode() halla el valor más frecuente (valor de moda) en la expresión o campo.
Sintaxis:
RangeMode(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 |
---|---|
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 y resultados:
Ejemplos | Resultados |
---|---|
RangeMode (1,2,9,2,4) |
Devuelve 2 |
RangeMode ('a',4,'a',4) |
Devuelve NULL |
RangeMode (null( )) |
Devuelve NULL |
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.
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 que devuelve MyRangeMode por cada uno de los registros de la tabla.
RangeID | MyRangMode |
---|---|
1 | - |
2 | - |
3 | 8 |
4 | - |
5 | 5 |
6 | - |
Ejemplo con expresión:
RangeMode (Above(MyField,0,3))
Devuelve el valor más frecuente en los tres resultados de MyField evaluados 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, donde haya suficientes filas por encima, que se toman como entrada para la función RangeMode().
Datos utilizados en el ejemplo:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
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 | - |