Bigquery中新安装购买者队列的Firebase事件

Bigquery中新安装购买者队列的Firebase事件,firebase,google-bigquery,firebase-analytics,Firebase,Google Bigquery,Firebase Analytics,考虑到android用户的安装日期,我想获得在安装后的规定时间内至少购买过一次的用户在第0天到第X天的所有200+Firebase事件的用户数。这个问题的前半部分以前是在本节中解决的。我认为分享一个附加的“购买者”队列查询会有帮助,以便其他人重复使用 我的第一次尝试(失败): -- STANDARD SQL -- NEW BIGQUERY EXPORT SCHEMA SELECT a.event_name AS event_name, a._TABLE_SUFFIX as day,

考虑到android用户的安装日期,我想获得在安装后的规定时间内至少购买过一次的用户在第0天到第X天的所有200+Firebase事件的用户数。这个问题的前半部分以前是在本节中解决的。我认为分享一个附加的“购买者”队列查询会有帮助,以便其他人重复使用

我的第一次尝试(失败):

-- STANDARD SQL
-- NEW BIGQUERY EXPORT SCHEMA
SELECT
  a.event_name AS event_name,
  a._TABLE_SUFFIX as day,
  COUNT(1) as users
FROM `xxxx.analytics_xxxx.events_*` as c
    RIGHT JOIN (SELECT user_pseudo_id, event_date, event_timestamp, event_name
                FROM `xxxx.analytics_xxxx.events_*`
                WHERE user_first_touch_timestamp BETWEEN 1530453600000000 AND 1530468000000000
                AND _TABLE_SUFFIX BETWEEN '20180630' AND '20180707'
                AND platform = "ANDROID"
                AND (event_name = 'in_app_purchase' OR event_name = 'ecommerce_purchase')
                ) as a
    ON a.user_pseudo_id = c.user_pseudo_id 
WHERE _TABLE_SUFFIX BETWEEN '20180630' AND '20180707'
GROUP BY event_name, day;
-- STANDARD SQL
-- NEW BIGQUERY EXPORT SCHEMA
SELECT    
  event_name AS event_name,
  _TABLE_SUFFIX as day,
  COUNT(1) as users
FROM `xxxx.analytics_xxxx.events_*`
    WHERE _TABLE_SUFFIX BETWEEN '20180630' AND '20180707'
    AND user_pseudo_id IN (SELECT user_pseudo_id
                           FROM `xxxx.analytics_xxxx.events_*`
                           WHERE _TABLE_SUFFIX BETWEEN '20180630' AND '20180707'
                           AND user_first_touch_timestamp BETWEEN 1530453600000000 AND 1530468000000000
                           AND (event_name = 'in_app_purchase' OR event_name = 'ecommerce_purchase')
                           AND platform = "ANDROID")
GROUP BY event_name, day;

回答:

-- STANDARD SQL
-- NEW BIGQUERY EXPORT SCHEMA
SELECT
  a.event_name AS event_name,
  a._TABLE_SUFFIX as day,
  COUNT(1) as users
FROM `xxxx.analytics_xxxx.events_*` as c
    RIGHT JOIN (SELECT user_pseudo_id, event_date, event_timestamp, event_name
                FROM `xxxx.analytics_xxxx.events_*`
                WHERE user_first_touch_timestamp BETWEEN 1530453600000000 AND 1530468000000000
                AND _TABLE_SUFFIX BETWEEN '20180630' AND '20180707'
                AND platform = "ANDROID"
                AND (event_name = 'in_app_purchase' OR event_name = 'ecommerce_purchase')
                ) as a
    ON a.user_pseudo_id = c.user_pseudo_id 
WHERE _TABLE_SUFFIX BETWEEN '20180630' AND '20180707'
GROUP BY event_name, day;
-- STANDARD SQL
-- NEW BIGQUERY EXPORT SCHEMA
SELECT    
  event_name AS event_name,
  _TABLE_SUFFIX as day,
  COUNT(1) as users
FROM `xxxx.analytics_xxxx.events_*`
    WHERE _TABLE_SUFFIX BETWEEN '20180630' AND '20180707'
    AND user_pseudo_id IN (SELECT user_pseudo_id
                           FROM `xxxx.analytics_xxxx.events_*`
                           WHERE _TABLE_SUFFIX BETWEEN '20180630' AND '20180707'
                           AND user_first_touch_timestamp BETWEEN 1530453600000000 AND 1530468000000000
                           AND (event_name = 'in_app_purchase' OR event_name = 'ecommerce_purchase')
                           AND platform = "ANDROID")
GROUP BY event_name, day;
PS:欢迎提供优化此脚本的建议:)