WINDOW_AVG

La función WINDOW_AVG devuelve el valor medio de los resultados de la expresión aplicada a los valores incluidos en la ventana de la tabla actual cuyos límites se indican como argumentos.

Sintaxis

WINDOW_AVG(
    <expresión>
    [, comienzo,
    fin]
)

Parámetros
  • expresión: expresión a evaluar para la ventana indicada
  • comienzo: (opcional) posición relativa a la fila actual de la fila que define el comienzo de la ventana
  • fin: (opcional) posición relativa a la fila actual de la fila que define el final de la ventana
Valor devuelto

La función WINDOW_AVG devuelve un número.

Información adicional

Las posiciones relativas definidas por los parámetros comienzo y fin se indican con signo negativo cuando las filas referenciadas se encuentran antes que la fila actual (si se recorre la tabla de arriba abajo) y con signo positivo cuando se encuentran después.

Si no se indican los límites de la ventana, la función considera toda la tabla.

Si alguna de las filas de la ventana indicada no existe (por estar evaluando la ventana para una fila demasiado próxima al comienzo o al final de la tabla), simplemente se ignora.

Ejemplos

Vamos a trabajar con la siguiente tabla de datos:

Tabla de datos

Comencemos por ejemplo más sencillo en el que la ventana a considerar incluye apenas la fila actual. Para ello podemos crear el siguiente campo calculado:

window_avg =

WINDOW_AVG(SUM([Valor]), 0, 0)

En este caso el valor devuelto por la expresión no es más que el valor del campo Valor para la fila que corresponda (no es más que la suma del número).

Si llevamos los campos de la tabla (dando al campo Valor formato Discreto) y el campo calculado al lienzo, obtenemos el siguiente resultado:

Función WINDOW_AVG con ventana (0, 0)

Tal y como cabría esperar, el resultado de la función para cada fila coincide con el valor del campo Valor en esa fila. En este caso, la ventana para la fila 3 es la mostrada en la siguiente imagen (es la propia fila 3):

Función WINDOW_AVG con ventana (0, 0)

Vemos también que el resultado devuelto para el valor nulo es un BLANK.

Hagamos ahora que la ventana cubra 3 filas, comenzando dos filas antes y terminando con la fila actual:

window_avg =

WINDOW_AVG(SUM([Valor]), -2, 0)

Ahora el resultado es el siguiente:

Función WINDOW_AVG con ventana (-2, 0)

La ventana para la fila 3, por ejemplo, es la mostrada en la siguiente imagen:

Función WINDOW_AVG con ventana (-2, 0)

Efectivamente, (2 + 1 + 4) / 3 = 2.333, resultado devuelto para la tercera fila.

Las primeras dos filas no tienen otras dos que las precedan, de forma que la ventana simplemente comienza en la primera fila de la tabla.

El valor nulo de la fila 6 se ignora en el cálculo. Por ejemplo, el resultado de la función para la fila 8 es (nulo + 1 + 5) / 3 = 3.

Por último, repitamos el cálculo para una ventana que incluya, además de la fila actual, la anterior y la posterior:

window_avg =

WINDOW_AVG(SUM([Valor]), -1, 1)

El resultado en este caso es el siguiente:

Función WINDOW_AVG con ventana (-1, 1)

La ventana para la fila 3, por ejemplo, es la mostrada en la siguiente imagen:

Función WINDOW_AVG con ventana (-1, 1)

Efectivamente, (1 + 4 + 3) / 3 = 2.667, que es el resultado devuelto para la fila 3.

Categoría
Cálculo de tablas
Enviado por admin el Mar, 29/10/2019 - 12:15