BigQuery разворачивается с вложенным полем - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть таблица больших запросов со схемой:

enter image description here

Я хотел бы получить такой результат:

flow_timestamp, channel_name, number_of_digits
2019-10-31 15:31:15, channel_name_1, 3,
2019-10-31 15:31:15, channel_name_2, 4,
:
:

Myquery: SELECT flow_timestamp, timeseries.channel_name, MAX(IF(channel_properties.key = 'number_of_digits', channel_properties.value, NULL)) AS number_of_digits FROM my_table , unnest(timeseries.channel_properties) as channel_properties

Я попробовал ту же методику, показанную здесь, Как объединить несколько строк в одну в BigQuery?

, но получил ошибку SELECT list expression references column flow_timestamp which is neither grouped nor aggregated at [1:8]

1 Ответ

1 голос
/ 02 ноября 2019

Ниже для BigQuery Standard SQL

#standardSQL
SELECT 
  flow_timestamp, 
  timeseries.channel_name, 
  ( SELECT MAX(IF(channel_properties.key = 'number_of_digits', channel_properties.value, NULL)) 
    FROM UNNEST(timeseries.channel_properties) AS channel_properties
  ) AS number_of_digits 
FROM my_table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...