El cálculo de la mediana de 3 columnas en una tabla BigQuery

0

Pregunta

Estoy tratando de crear una consulta para calcular la mediana de los 3 valores de la columna. Mi tabla tiene el siguiente aspecto,

Elemento La columna 1 La columna 2 Columna 3
Un 10 12 4
B 5 14 20
C 15 5 4

Quiero ser capaz de salida,

Elemento La columna 1 La columna 2 Columna 3 La mediana de
Un 10 12 4 10
B 5 14 20 14
C 15 5 4 5

He intentado percentile_cont (), pero que parece ser sólo para los valores en una sola columna. ¿Cómo puedo lograr esto?

google-bigquery median
2021-11-23 17:41:55
2

Mejor respuesta

2

Considere el siguiente enfoque

select *, 
  ( select distinct percentile_disc(col, 0.5) over() 
    from unnest([Column1, Column2, Column3]) as col
  ) AS Median
from your_table       

si se aplican a los datos de la muestra en su pregunta - la salida es

enter image description here

2021-11-23 22:50:39

Gracias!! Esto funcionó!
pear_geepee
0

¿Has probado esto:

select Col1, Col2, Col3, 
       PERCENTILE_CONT([Col1, Col2, Col3], 0.5) OVER() AS Median
from   tableName
2021-11-23 18:06:09

Sí, pero que errores como Ninguna coincidencia de la firma para la analítica de la función PERCENTILE_CONT para los tipos de argumento: ARRAY<FLOAT64>, FLOAT64. Admite firmas: PERCENTILE_CONT(FLOAT64, FLOAT64); PERCENTILE_CONT(NUMERIC NUMERIC); PERCENTILE_CONT(BIGNUMERIC, BIGNUMERIC) en [5:3]
pear_geepee

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................