WINDOW_MEDIAN

La función WINDOW_MEDIAN devuelve la mediana 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_MEDIAN(
    <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_MEDIAN devuelve un número real.

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.

Si no existe un valor central, se devuelve la media de los dos más próximos.

Ejemplos

Para probar esta función vamos a partir de la siguiente tabla de datos:

Tabla de datos

A continuación, la leemos desde Tableau y creamos el siguiente campo calculado que considera una ventana de tres filas (comenzando dos filas antes de la actual y terminando en la fila actual) y devuelve la mediana:

window_median =

WINDOW_MEDIAN(SUM([Number]), -2, 0)

La expresión usada devuelve el mismo número para cada fila (es la suma de cada número).

Ahora, si llevamos los campos de nuestra tabla al lienzo junto con el campo calculado, obtenemos el siguiente resultado:

Función WINDOW_MEDIAN con ventana de tres registros

Veamos resultado por resultado:

En la primera fila la ventana solo cubre dicha fila, de forma que la función devuelve el único valor disponible: 2

En la segunda fila la ventana ya cubre dos valores: 2 y 1. Como no hay un valor central, se devuelve el valor medio de los dos más próximos (y únicos): (2 + 1) / 2 = 1.5

En la tercera fila la ventana ya tiene su tamaño normal de tres registros, cubriendo los valores 2, 1 y 4. El valor central es 2, de forma que se devuelve este valor.

Y a partir de aquí, la metodología es la misma. Por ejemplo, para la fila 5 los valores incluidos en la ventana son 3, 4 y 4, siendo el valor central 4, valor que devuelve la función.

La ventana del ejemplo anterior tenía un tamaño impar, lo que aseguraba que -salvo para las primera filas- siempre había un valor central. Si cambiamos la ventana a tamaño cuatro:

window_median =

WINDOW_MEDIAN(SUM([Number]), -3, 0)

...aparecen más casos en los que el valor medio de los dos valores más próximos al valor central no coinciden y la función devuelve números no enteros:

Función WINDOW_MEDIAN con ventana de cuatro registros

Así, el valor devuelto para la fila con el identificador Id = 3 es 2.5, resultante de calcular la media entre los valores 2 y 3 (la ventana cubre los valores 2, 1, 4 y 3 ).

Para la fila en la que Id = 5, la ventana cubre los valores 4, 3, 4 y 4. En este caso el valor medio de los dos valores más próximos al centro (4 y 4) es un número entero.

Categoría
Cálculo de tablas
Submitted by admin on Mon, 11/04/2019 - 12:57