我正在尝试构建一个仪表板,用于跟踪我的Android应用程序的关键指标。为此,我使用的是BigQuery支持的Firebase分析。
我正试图获得first_open
事件count
和ratio
的每周增长
我可以将当前周和前一周的first_open
事件计数作为BigQuery中的单独查询(例如以下作为前一周查询的示例):
SELECT
FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL CAST ( FORMAT_DATE("%u", CURRENT_DATE()) as INT64 ) + 6 DAY)) AS previousMonday,
FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL CAST ( FORMAT_DATE("%u", CURRENT_DATE()) as INT64 ) DAY)) AS previousSunday,
COUNT(*) as counter,
h.name as event
FROM `com_package_app_ANDROID.app_events_*`, UNNEST(event_dim) as h
WHERE _TABLE_SUFFIX
BETWEEN
FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL CAST ( FORMAT_DATE("%u", CURRENT_DATE()) as INT64 ) + 6 DAY))
AND
FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL CAST ( FORMAT_DATE("%u", CURRENT_DATE()) as INT64 ) DAY))
AND
h.name='first_open'
GROUP BY event
ORDER BY counter DESC
但我无法通过合并2个查询(当前周与前一周)得到比率,而且,我无法获得有史以来最好的一周first_open
计数。
答案 0 :(得分:0)
要获得“有史以来最好的一周”,您可以按周分组事件并按计数排序。像这样......
SELECT
DATE_TRUNC(event_date, WEEK) AS week,
COUNT(*) AS count
FROM BQ_TABLE
WHERE BQ_TABLE.name = 'first_open'
GROUP BY week
ORDER BY count DESC
要获取当前/上周,您可以将上述查询转换为子查询,并按目标周进行过滤。
请注意,“有史以来最好的一周”查询将始终是全表扫描,并且可能会变得很昂贵,具体取决于事件的数量以及执行查询所需的频率。