RangeAvg - función de script y de gráfico
RangeAvg() devuelve el promedio de un rango. Lo introducido en la función puede ser o bien un rango de valores o una expresión.
Sintaxis:
RangeAvg(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 no encuentra ningún valor numérico, devuelve NULL.
Ejemplos y resultados:
Ejemplos | Resultados |
---|---|
RangeAvg (1,2,4) |
Devuelve 2,33333333 |
RangeAvg (1,'xyz') | Devuelve 1 |
RangeAvg (null( ), 'abc') | 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, RangeAvg(Field1,Field2,Field3) as MyRangeAvg 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 MyRangeAvg por cada uno de los registros de la tabla.
RangeID | MyRangeAvg |
---|---|
1 | 7 |
2 | 4 |
3 | 6 |
4 | 12.666 |
5 | 6.333 |
6 | 5 |
Ejemplo con expresión:
RangeAvg (Above(MyField),0,3))
Devuelve una media deslizante del resultado del rango de tres valores de MyField calculados 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 RangeAvg().
Datos utilizados en los ejemplos:
MyField | RangeAvg (Above(MyField,0,3)) | Comments |
---|---|---|
10 | 10 | Como ésta es la fila superior, el rango consiste en un valor solamente. |
2 | 6 | Solo hay una fila por encima de esta fila, por lo que el rango es: 10,2. |
8 | 6.6666666667 | El equivalente a RangeAvg(10,2,8) |
18 | 9.333333333 | - |
5 | 10. 333333333 | - |
9 | 10.6666666667 | - |
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;