Il calcolo della mediana di 3 colonne in una tabella BigQuery

0

Domanda

Sto cercando di creare una query per calcolare la mediana di 3 valori di una colonna. La mia tabella è simile di seguito,

Voce Colonna 1 Colonna 2 Colonna 3
Un 10 12 4
B 5 14 20
C 15 5 4

Voglio essere in grado di output,

Voce Colonna 1 Colonna 2 Colonna 3 Mediana
Un 10 12 4 10
B 5 14 20 14
C 15 5 4 5

Ho provato percentile_cont (), ma che sembra essere solo per i valori in una singola colonna. Come posso realizzare questo?

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

Migliore risposta

2

Si consideri al di sotto di approccio

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

se applicato a dati di esempio la tua domanda - uscita

enter image description here

2021-11-23 22:50:39

Grazie!! Questo ha funzionato!
pear_geepee
0

Hai provato questo:

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

Sì, ma che errori come Non corrisponde una firma per la funzione analitica PERCENTILE_CONT per tipi di argomenti: ARRAY<FLOAT64>, FLOAT64. Supportato firme: PERCENTILE_CONT(FLOAT64, FLOAT64); PERCENTILE_CONT(NUMERICO, NUMERICO); PERCENTILE_CONT(BIGNUMERIC, BIGNUMERIC) a [5:3]
pear_geepee

In altre lingue

Questa pagina è in altre lingue

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