Obliczanie mediany z 3 kolumn w tabeli BigQuery

0

Pytanie

Staram się budować wniosek do obliczenia mediany wartości 3 kolumn. Moja tabela wygląda tak, jak pokazano poniżej,

Przedmiot Kolumna 1 Kolumna 2 Kolumna 3
A 10 12 4
B 5 14 20
C 15 5 4

Chcę mieć możliwość wyprowadzenia,

Przedmiot Kolumna 1 Kolumna 2 Kolumna 3 Środkowa
A 10 12 4 10
B 5 14 20 14
C 15 5 4 5

Próbowałem percentile_cont (), ale wygląda na to, że to tylko dla wartości w jednej kolumnie. Jak mogę to osiągnąć?

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

Najlepsza odpowiedź

2

Rozważmy następujący podejście

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

jeśli stosuje się do próbek danych w swoim pytaniu - wniosek będzie

enter image description here

2021-11-23 22:50:39

Dziękuję!! To zadziałało!
pear_geepee
0

Próbowałeś to:

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

Tak, ale to prowadzi do błędu, tak jak nie ma podpisu zgodnego dla funkcji analitycznych PERCENTILE_CONT dla typów argumentów: TABLICA<FLOAT64>, FLOAT64. Obsługiwane podpisu: ПРОЦЕНТИЛЬ_КОНТ(FLOAT64, FLOAT64); ПРОЦЕНТИЛЬ_КОНТ(NUMERYCZNY, NUMERYCZNY); ПРОЦЕНТИЛЬ_КОНТ(NUMERYCZNY, NUMERYCZNY) w [5:3]
pear_geepee

W innych językach

Ta strona jest w innych językach

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