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 ]; |
|
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)) | |
---|---|---|
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
] ;