Есть ли в BigQuery эквивалентная функция Dataprep? - PullRequest
0 голосов
/ 27 февраля 2020

Мне нужна функциональность, подобная этой в BigQuery: https://cloud.google.com/dataprep/docs/html/ROLLINGLIST-Function_118228853

Кто-нибудь знает о подходящей функции?

1 Ответ

2 голосов
/ 27 февраля 2020

Ниже приведен пример для BigQuery Standard SQL

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 'a' col1, 1 col2 UNION ALL
  SELECT 'b', 2 UNION ALL
  SELECT 'c', 3 UNION ALL
  SELECT 'd', 4 UNION ALL
  SELECT 'e', 5 UNION ALL
  SELECT 'f', 6 UNION ALL
  SELECT 'g', 7 UNION ALL
  SELECT 'h', 8 
)
SELECT *, 
  STRING_AGG(col1) 
    OVER(ORDER BY col2 ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) rolling_list
FROM `project.dataset.table`

с выводом

Row col1    col2    rolling_list     
1   a       1       a    
2   b       2       a,b  
3   c       3       a,b,c    
4   d       4       b,c,d    
5   e       5       c,d,e    
6   f       6       d,e,f    
7   g       7       e,f,g    
8   h       8       f,g,h    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...