【发布时间】:2017-08-11 19:05:06
【问题描述】:
我想旋转“unitId”、“firebase_screen_class”字段,以便每个字段出现在单独的列中:
SELECT
event.name,
event_param.value.string_value AS ad_unit,
COUNT(*) AS event_count
FROM
`app_events_20170510`,
UNNEST(event_dim) AS event,
UNNEST(event.params) as event_param
WHERE
event.name in ('Ad_requested', 'Ad_clicked', 'Ad_shown')
and event_param.key in ('unitId', 'screen_class')
GROUP BY 1,2
我使用旧版 SQL 使用了以下查询,但它没有显示正确的聚合结果:
SELECT event_name, ad_unit, count(*) FROM
(
SELECT
event_dim.name as event_name,
MAX(IF(event_dim.params.key = "firebase_screen_class", event_dim.params.value.string_value, NULL)) WITHIN RECORD as firebase_screen_class,
MAX(IF(event_dim.params.key = "unitId", event_dim.params.value.string_value, NULL)) WITHIN RECORD as ad_unit
FROM
[app_events_20170510]
WHERE
event_dim.name in ('Ad_requested','Ad_shown', 'Ad_clicked')
and event_dim.params.key in ('unitId','screen_class')
)
group by 1,2
我正在寻找以下输出:
_________________________________________________________________________
| event_dim.name | unitId | screen_class | count_events|
|__________________|________________|______________________|_____________|
| Ad_requested | hpg | socialFeed | 520 |
|__________________|________________|______________________|_____________|
| Ad_shown | hpg | chat | 950 |
|__________________|________________|______________________|_____________|
| Ad_requested | hni | chat | 740 |
|__________________|________________|______________________|_____________|
所有事件Ad_requested、Ad_shown 和Ad_clicked 的参数具有相同的键(unitId、screen_class),并且每个键的值也相同(unitId:hpg、@987654332 @/screen_class:socialFeed,chat)
【问题讨论】:
标签: google-bigquery