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.

Syntax:  

RangeAvg(first_expr[, Expression])

Return data type: numérico

Arguments:  

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.

Limitations:  

Si no encuentra ningún valor numérico, devuelve NULL.

Examples and results:  

Ejemplos Resultados
RangeAvg (1,2,4)

Devuelve 2,33333333

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

Agregue el script de ejemplo en su app y ejecútelo. A continuación, agregue como mínimo los campos de la columna de resultados en una hoja de su app 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 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:

Tip: Deshabilite la ordenación de MyField para garantizar que el ejemplo funcione según lo esperado.
MyField RangeAvg (Above(MyField,0,3))  
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

] ;