BigQuery 和 Firebase - 如何确定每周增长
Posted
技术标签:
【中文标题】BigQuery 和 Firebase - 如何确定每周增长【英文标题】:BigQuery & Firebase - how to determine weekly growth 【发布时间】:2017-01-18 11:59:26 【问题描述】:我正在尝试构建一个仪表板来跟踪我的 android 应用程序的关键指标。为此,我使用了由 BigQuery 支持的 Firebase 分析。
我正在努力使first_open
事件count
和ratio
的每周增长
我能够在 BigQuery 中将当前周和前一周 first_open
事件计数作为单独的查询(例如以下作为前一周查询的示例):
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
计数。
【问题讨论】:
【参考方案1】:要获得“有史以来最好的一周”,您可以按周对事件进行分组并按次数排序。像这样的...
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
要获取当前/上一周,您可以将上述查询转换为子查询并按您的目标周过滤。
请注意,“有史以来最好的一周”查询将始终是全表扫描,并且可能会根据事件数量和执行查询的频率而变得昂贵。
【讨论】:
我不确定你能不能这样查询(至少我不能让它工作)。事实上,BQ 中的表格在每日表格中被拆分。另外,event_date
是什么?谢谢
event_date
是您在events
表中使用的任何日期字段。因此,您使用的是每日表而不是每天对一张表进行分区? (可能与firebase与BQ的集成方式有关,我不太熟悉)以上是关于BigQuery 和 Firebase - 如何确定每周增长的主要内容,如果未能解决你的问题,请参考以下文章
如何在 BigQuery 中合并 Google Ads 和 Firebase 数据 [关闭]
如何计算 Firebase 中的 MAU?我需要 BigQuery 吗?
如何将所有事件数据从 Firebase 导出到 BigQuery?
如何简化和扩展 Firebase 数据库上的 BigQuery 子过滤 event_params