Saltar al contenido principal Saltar al contenido complementario

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:  

Ejemplos y resultados
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().

Nota de sugerenciaDeshabilite la ordenación de MyField para garantizar que el ejemplo funcione tal como se espera.
Resultados de la expresión a modo de ejemplo
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.

Ejemplo de resultados en forma de tabla
RangeID MyRangeAvg
1 7
2 4
3 6
4 12.666
5 6.333
6 5

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.

Únase al Programa de modernización de la analítica

Remove banner from view

Modernícese sin comprometer sus valiosas aplicaciones de QlikView con el Programa de modernización de la analítica. Haga clic aquí para obtener más información o contactar con nosotros: ampquestions@qlik.com