Скользящие 7-дневные уникальные и 31-дневные уникальные в BigQuery с Firebase - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь настроить пользователей на 7 дней и пользователей на 31 день в BigQuery (с Firebase), используя следующий запрос.Я хочу, чтобы для каждого дня он проверял предыдущие 31 день, а также 7 дней.Я застрял и получаю сообщение:

LEFT OUTER JOIN не может быть использован без условия, которое является равенством полей с обеих сторон объединения.

Запрос:

With events AS (
    SELECT PARSE_DATE("%Y%m%d", event_date) as event_date, user_pseudo_id FROM `my_data_table.analytics_178206500.events_*`  
    Where _table_suffix NOT LIKE "i%" AND event_name = "user_engagement"
    GROUP BY 1, 2
),
DAU AS (
    SELECT event_date as date, COUNT(DISTINCT(user_pseudo_id)) AS dau
    From events
    GROUP BY 1
)

SELECT DAU.date, DAU.dau,
(
    SELECT count(distinct(user_pseudo_id))
    FROM events
    WHERE events.event_date BETWEEN DATE_SUB(DAU.date, INTERVAL 29 DAY) and dau.date
) as mau,
(
    SELECT count(distinct(user_pseudo_id))
    FROM events
    WHERE events.event_date BETWEEN DATE_SUB(DAU.date, INTERVAL 7 DAY) and dau.date
) as wau
FROM DAU
ORDER BY 1 DESC

Я могу получить часть DAU, но последние 7 дней пользователей (WAU) и последние 31 дней пользователей (MAU) не проходят.Я пытался CROSS JOIN DAU с событиями, но я получаю следующие результаты GraphResults

Любые указатели будут с благодарностью

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...