我已经将 Firebase 项目与 BigQuery 集成在一起。现在,我在尝试获取选定日期(即 20190210 )的 1天活跃用户时遇到数据差异问题,并从 BigQuery ;
SELECT COUNT(DISTINCT user_pseudo_id) AS 1_day_active_users_count
FROM `MY_TABLE.events_*`
WHERE event_name = 'user_engagement' AND _TABLE_SUFFIX = '20190210'
但从 BigQuery 返回的数字与在同一日期在 Firebase Analytics(分析)信息中心上报告的数字不匹配。任何线索,这里可能出什么问题了?
以下示例查询提到了我的Firebase团队,这里https://support.google.com/firebase/answer/9037342?hl=en&ref_topic=7029512并没有帮助,因为它考虑了当前时间并相应地吸引了用户。
N-day active users
/**
* Builds an audience of N-Day Active Users.
*
* N-day active users = users who have logged at least one user_engagement
* event in the last N days.
*/
SELECT
COUNT(DISTINCT user_id) AS n_day_active_users_count
FROM
-- PLEASE REPLACE WITH YOUR TABLE NAME.
`YOUR_TABLE.events_*`
WHERE
event_name = 'user_engagement'
-- Pick events in the last N = 20 days.
AND event_timestamp >
UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 20 DAY))
-- PLEASE REPLACE WITH YOUR DESIRED DATE RANGE.
AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131';
答案 0 :(得分:0)
因此,鉴于此处的微小差异,我认为这是时区之一。
当您在Firebase控制台中查看“一天”时,您将查看在首次设置项目时指定的任何时区中从午夜到午夜的时间间隔。当您在BigQuery中查看“一天”时,您正在查看UTC中从午夜到午夜的时间间隔。
如果要确保您正在查看与控制台中的事件匹配的事件,则应查询BigQuery表中的event_timestamp值(并记住它可能跨越多个表)以与事件匹配在您的时区。