#google-bigquery
#google-bigquery
Вопрос:
Я работаю с приложением Google Analytics и веб-данными в BigQuery. Я хочу считать пользователя КАК new_user, КОГДА значение user_first_touch_timestamp совпадает со значением даты события в таблице. Это привело бы к подсчету новых пользователей, посетивших сайт в определенный день. Пример значения в user_first_touch_timestamp 1595912758378962 Пример значения в event_date 20200809 Как я могу это сделать? Спасибо.
Ответ №1:
Ниже приведен стандартный SQL BigQuery
Вы должны проанализировать оба значения с одинаковым типом ДАТЫ — как показано ниже
PARSE_DATE('%Y%m%d', event_date) AS event_date_day
и
DATE(TIMESTAMP_MICROS(user_first_touch_timestamp)) AS user_first_touch_timestamp_day
После этого вы можете выполнять любое сравнение, которое вам нужно
Например, если вы хотите использовать его в предложении WHERE, это может выглядеть следующим образом
WHERE PARSE_DATE('%Y%m%d', event_date) = DATE(TIMESTAMP_MICROS(user_first_touch_timestamp))
Комментарии:
1. Спасибо, Михаил. Когда я пытаюсь запустить новый запрос, я получаю эту ошибку: Нераспознанное имя: event_date_day; Вы имели в виду event_date? в [7:7]. Я пытаюсь использовать, ГДЕ значение в одном поле = значение в другом поле ВЫБЕРИТЕ PARSE_DATE(‘%Y%m%d’, event_date) КАК event_date_day, ДАТА(TIMESTAMP_MICROS(user_first_touch_timestamp)) КАК user_first_touch_timestamp_day, COUNT (DISTINCT(user_pseudo_id)) КАК new_users, ИЗ
project-table
ГДЕ event_date_day = user_first_touch_timestamp_day2. смотрите дополнение в ответе