Как создать отчет в Biquery со значением param.key «action» и «label» в двух разных столбцах - PullRequest
0 голосов
/ 22 ноября 2018

Запрашиваемый param.key «action» со строковыми значениями через большой запрос, используя запрос ниже и извлеките отчет

выберите имя события, param.value.string_value в качестве действия, count (*) как eventcoun От <table>, UNNEST (event_params) как param, где event_name = 'BotNav' и param.key = 'action', сгруппировать на 1,2 порядка по eventcount desc

Выход получен черезbigquery

event_name действие eventount

BotNav Home 3575

BotNav App 1468

Запрошенный param.key «label» со ​​строковыми значениямичерез большой запрос, используя приведенный ниже запрос, и извлеките отчет

выберите имя события, param.value.string_value в качестве действия, count (*) в качестве eventcoun От <table>, UNNEST (event_params) в качестве параметра гдеevent_name = 'BotNav' и param.key = 'label' сгруппированы по 1,2 порядку по количеству событий desc

вывод получен через bigquery имя_метки события eventount

BotNav click 2341

BotNav submit 1234

BotNav click 1234 BotNav submit 234

Как создать отчет с event.param .key «action» и «label» в двух разных столбцах.Мне нужно в Bigquery, как это.Pls.найдите ниже ожидаемого вывода в большом запросе

Ожидаемый вывод

имя-события имя-события actionount

BotNav Home click 2341

BotNav Home submit 1234

BotNav App click 1234

BotNav App submit 234

Pls Помогите получить значение строки действия и метки в двух разных столбцах.

1 Ответ

0 голосов
/ 22 ноября 2018

попробуйте ниже

#standardSQL
select 
  event_name, 
  param1.value.string_value as action,
  param2.value.string_value as label,
  count(1) as eventcount
From `<table>`,
UNNEST(event_params) as param1,
UNNEST(event_params) as param2
where event_name = 'BotNav' 
and param1.key='action' 
and param2.key='label' 
group by 1, 2, 3 
order by eventcount desc   

, очевидно, предполагая единственные ключи 'action' и 'label' в параметрах event_params на строку имя-события - что должно быть истинно на основе числа счетчиков из примеров ввопрос

Другой вариант будет

#standardSQL
select 
  event_name, 
  (select value.string_value from UNNEST(event_params) where key='action') as action,
  (select value.string_value from UNNEST(event_params) where key='label') as label,
  count(1) as eventcount
From `<table>`
where event_name = 'BotNav' 
group by 1, 2, 3 
order by eventcount desc 

с тем же предположением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...