使用下面的查询通过大查询来查询带有字符串值的param.key“操作”并获取报告
选择event_name,param.value.string_value作为action,count(*)作为eventcoun
从<table>
,
UNNEST(event_params)作为参数
其中event_name ='BotNav'和param.key ='action'按1,2按事件计数desc分组
通过bigquery收到的输出
event_name操作eventount
BotNav主页3575
BotNav应用程序1468
使用下面的查询通过大查询来查询带有字符串值的param.key“标签”并获取报告
选择event_name,param.value.string_value作为action,count(*)作为eventcoun
从<table>
,
UNNEST(event_params)作为参数
其中event_name ='BotNav'和param.key ='label'按事件计数desc按1,2顺序分组
通过bigquery收到的输出 event_name标签eventount
BotNav单击2341
BotNav提交1234
BotNav单击1234 BotNav提交234
如何在两个不同的列中使用event.param .key“操作”和“标签”创建报告。我需要像这样在Bigquery中出局。请在bigquery的预期输出下面找到
预期产量
event_name操作标签eventount
BotNav主页单击2341
BotNav主页提交1234
BotNav应用程序单击1234
BotNav应用提交234
请帮助在两个不同的列中获取操作和标签字符串值。
答案 0 :(得分:1)
尝试以下
#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
显然假设每个event_name行的event_params中只有一个“ action”和“ label”键-根据有关示例的计数,该键应该为
另一个选择是
#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
具有相同的假设