Я пытаюсь создать закрытую воронку между двумя событиями (рассчитанными на основе пользователя) в Google BigQuery ежедневно в течение ряда дней.
Я попробовал подход в этой статье
Мне удалось получить код для воронки для двух событий за день, но при группировке, тот же код на ежедневной основе для диапазона дней, он дает неверные результаты.
Это код, который я использую:
SELECT
COUNT(DISTINCT funnel_1) AS f1_users,
COUNT(DISTINCT funnel_2) AS f2_users,df as dates
FROM (
SELECT
IF (event_name = "event1",dv,NULL) as funnel_1,
IF (event_name = "event1" AND next_event = "event2",dv, NULL) AS funnel_2,SELECT COUNT(DISTINCT funnel_1) AS f1_users,
COUNT(DISTINCT funnel_2) AS f2_users,df as dates
FROM (
SELECT
IF (event_name = "event1",dv,NULL) as funnel_1,
IF (event_name = "event1" AND next_event = "event2",dv, NULL) AS funnel_2,
df
FROM (
SELECT event_name,device.advertising_id as dv , event_timestamp,event_date as df,
LEAD(event_name, 1) OVER (PARTITION BY device.advertising_id ORDER BY event_timestamp) AS next_event
FROM `main_table_151454888.events_201903*`
WHERE _TABLE_SUFFIX between '12' and '31' and
event_name = "event1" OR event_name = "event2"
ORDER BY 2,3
)
)
group by dates
order by dates
Есть идеи, как я могу изменить этот код, чтобы он работал не только в течение одного дня, но и в течение ряда дней?