RangeAvg - función de script y de gráfico
RangeAvg() devuelve la media 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:
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 campo que contiene los datos de los que se ha de hallar la media.
- Expression: Expresiones o campos opcionales que contienen datos adicionales de los que se ha de hallar la media. Se pueden utilizar múltiples expresiones adicionales.
Limitaciones:
Si no se encuentra valor numérico alguno, devuelve NULL.
Ejemplos:
Ejemplo | Resultado |
---|---|
RangeAvg (1,2,4) |
Devuelve 2,33333333 |
RangeAvg (1,'xyz') | Devuelve 1 |
RangeAvg (null( ), 'abc') | Devuelve NULL |
Ejemplo: (usando expresión)
RangeAvg (Above(MyField),0,3))
Devuelve una media móvil del resultado del rango de tres valores de MyField calculados en la fila actual y dos filas más arriba con respecto a 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 RangeAvg().
MyField | RangeAvg (Above(MyField,0,3)) | Explicación |
---|---|---|
10 | 10 | Como ésta es la fila superior, el rango consiste en un valor solamente. |
2 | 6 | Sólo hay una fila por encima de esta fila, así 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 | - |
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, 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 devueltos de MyRangeAvg para cada uno de los registros de la tabla.
RangeID | MyRangeAvg |
---|---|
1 | 7 |
2 | 4 |
3 | 6 |
4 | 12.666 |
5 | 6.333 |
6 | 5 |