Получение дедуплифицированных конверсий для уникальных пользователей с 24-часовым окном - PullRequest
0 голосов
/ 29 марта 2019

Мне нужно получить дедуплицированные конверсии для каждого уникального пользователя.Правило здесь заключается в том, что мне нужен столбец, в котором я получаю только счет первого преобразования, сделанного за день.Таким образом, я могу инициировать 10 преобразований за 3/03/2019, но столбец «дедупликация» будет рассчитывать только количество 1. Код должен быть масштабируемым для ТБ данных.

Это мои исходные данные вBigQuery:

Date    User_ID Total_Conversions
3/3/19  1234    1
3/3/19  1234    1
3/3/19  1234    1
3/3/19  12      1
3/3/19  12      1
3/4/19  1234    1
3/4/19  1234    1
3/5/19  1       1
3/6/19  1       0

Я хочу, чтобы мой конечный результат выглядел так:

Date     User_ID   Total_Conversions   Deduped
3/3/19   1234          3                   1
3/3/19   12            2                   1
3/5/19   1             1                   1
3/4/19   1234          2                   1
3/6/19   1             0                   0

1 Ответ

2 голосов
/ 29 марта 2019

Я думаю, вам просто нужен базовый запрос GROUP BY здесь:

SELECT
    date,
    User_ID,
    SUM(Total_Conversions) AS Total_Conversions,
    CASE WHEN SUM(Total_Conversions) > 0 THEN 1 ELSE 0 END AS Deduped
FROM yourTable
GROUP BY
    date,
    User_ID;

enter image description here

Демо

(Демонстрация показана в MySQL только для иллюстрации)

Предполагается, что логически столбец Deduped всегда равен единице для любого количества преобразований в этой группе, если только нет преобразованийвообще произошло, в котором оно становится равным нулю.

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