Вопрос BigQuery - моделирование атрибуции с помощью таблицы путей - PullRequest
0 голосов
/ 30 апреля 2020

это может быть базовый c вопрос, но я просто не могу понять это. Пример данных и запроса можно найти здесь .

Цель запроса - выяснить, к какому месту размещения приписывать кредит. В модели первого касания зачисляется самое раннее касание, которое привело к конверсии (FLOODLIGHT). Так что здесь 22 имеет 1 кредит, 11 - 2. Я не совсем получаю первый сложный запрос, особенно самую плохую часть. Какой смысл сравнивать prev_conversion_event.event_time < conversion_event.event_time? Разве они по сути не одинаковы? Я имею в виду, что они оба пришли из UNNEST(t.*_path.events). И attributed_event.event_time также пришел из того же места. Я просто в замешательстве. Очень признателен за помощь!

Для удобства я вставляю пример данных и запрос ниже:

Пример данных

/* Substitute *_paths for the specific paths table that you want to query. */ SELECT ( SELECT attributed_event_metadata.placement_id FROM ( SELECT AS STRUCT attributed_event.placement_id, ROW_NUMBER() OVER(ORDER BY attributed_event.event_time ASC) AS rank FROM UNNEST(t.*_paths.events) AS attributed_event WHERE attributed_event.event_type != "FLOODLIGHT" AND attributed_event.event_time < conversion_event.event_time AND attributed_event.event_time > ( SELECT IFNULL( ( SELECT MAX(prev_conversion_event.event_time) AS event_time FROM UNNEST(t.*_paths.events) AS prev_conversion_event WHERE prev_conversion_event.event_type = "FLOODLIGHT" AND prev_conversion_event.event_time < conversion_event.event_time), 0)) ) AS attributed_event_metadata WHERE attributed_event_metadata.rank = 1) AS placement_id, COUNT(*) AS credit FROM adh.*_paths AS t, UNNEST(*_paths.events) AS conversion_event WHERE conversion_event.event_type = "FLOODLIGHT" GROUP BY placement_id HAVING placement_id IS NOT NULL ORDER BY credit DESC

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