【发布时间】:2017-04-07 17:28:05
【问题描述】:
如果我没记错的话,计算当天活跃用户应该很简单。只需将今天和 x 天(7 天活跃将是 6 天)取回,然后计算不同的 ID。对于 2 天的活跃用户,我有以下查询:
WITH allTables AS (
SELECT
CONCAT(user_dim.app_info.app_id, ':', user_dim.app_info.app_platform) AS app,
event.date,
user_dim.app_info.app_instance_id as users
FROM `dataset.app_events_intraday_20170407`
CROSS JOIN
UNNEST(event_dim) AS event
UNION ALL
SELECT
CONCAT(user_dim.app_info.app_id, ':', user_dim.app_info.app_platform) AS app,
event.date,
user_dim.app_info.app_instance_id as users
FROM `dataset.app_events_20170406`
CROSS JOIN
UNNEST(event_dim) AS event
) SELECT COUNT(DISTINCT(users)) AS unique,
COUNT(users) as total
FROM allTables
这适用于 2 天的活动,但对于 7 天或 30 天,我会合并所有这些表。这是正确的还是需要修改?
【问题讨论】:
标签: sql google-bigquery