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.

Argumento Descripción
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 y resultados:  

Ejemplos Resultados
RangeAvg (1,2,4)

Devuelve 2,33333333

RangeAvg (1,'xyz') Devuelve 1
RangeAvg (null( ), 'abc') Devuelve NULL

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

Ejemplo con 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().

Datos utilizados en los ejemplos:

Sugerencia: Deshabilite la ordenación de MyField para garantizar que el ejemplo funcione tal como se espera.
MyField RangeAvg (Above(MyField,0,3))  
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  

RangeTab:

LOAD * INLINE [

MyField

10

2

8

18

5

9

] ;