Идентификаторы запросов, которые соответствуют двум условиям для события - BigQuery - PullRequest
0 голосов
/ 26 апреля 2018

Я хотел бы запросить мой набор данных (таблицу), чтобы получить столбец с user_ids, датой, именем события и ключом параметра события. Я также указываю, что хочу только события LeaveReview.

fruit <- query_exec(
"SELECT user_dim.user_id, event.date, event.name, event_param.key,
FROM `table_201804*`,
UNNEST(event_dim) as event,
UNNEST(event.params) as event_param
WHERE event.name = 'LeaveReview'
AND _TABLE_SUFFIX BETWEEN '01' AND '25'
LIMIT 40",
project = "my_table"

)

Как бы мне пришлось изменить свой код, чтобы получать информацию только о тех пользователях, которые сделали ОБЕ "LeaveReview" и "ClickFavorite" в определенный день? Я попробовал следующее, но это не работает:

fruit <- query_exec(
"SELECT user_dim.user_id, event.date, event.name, event_param.key,
FROM `table_201804*`,
UNNEST(event_dim) as event,
UNNEST(event.params) as event_param
WHERE (event.name = 'LeaveReview' AND event.name = 'ClickFavorite')
AND _TABLE_SUFFIX BETWEEN '01' AND '25'
LIMIT 40",
project = "my_table"

)

Если я сделаю следующее, я найду людей, которые сделали событие «ClickFavorite», но не событие «LeaveReview» или наоборот:

fruit <- query_exec(
"SELECT user_dim.user_id, event.date, event.name, event_param.key,
FROM `table_201804*`,
UNNEST(event_dim) as event,
UNNEST(event.params) as event_param
WHERE (event.name = 'LeaveReview' OR event.name = 'ClickFavorite')
AND _TABLE_SUFFIX BETWEEN '01' AND '25'
LIMIT 40",
project = "my_table"

)

1 Ответ

0 голосов
/ 26 апреля 2018

Хммм. Работает ли что-то подобное?

SELECT user_dim.user_id
FROM `table_201804*`,
     UNNEST(event_dim) as event,
     UNNEST(event.params) as event_param
WHERE event.name  IN ('LeaveReview', 'ClickFavorite')
GROUP BY user_dim.user_id
HAVING COUNT(DISTINCT event.name) = 2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...