Запрос массива eventAction "in" в большом запросе - PullRequest
0 голосов
/ 10 октября 2018

Я прошу прощения, если об этом уже спрашивали, но я не могу найти конкретный документ, описывающий, как это сделать.Мы импортируем наши данные GA в большой запрос.мне просто нужно увидеть, какие посетители на нашем сайте просматривают две или более страниц и выполняют хотя бы одно из нескольких действий.Я довольно новичок в BQ, и я прочитал доклад об использовании UNNEST, к сожалению, это проблема, с которой я сталкиваюсь, когда запускаю этот запрос:

SELECT visitId, totals.pageviews  FROM `analytics-acquisition-funnel.119485123.ga_sessions_20181009` WHERE totals.pageviews > 2 AND
'modal-click' IN UNNEST(hits.eventInfo.eventAction) 
order by totals.pageviews DESC LIMIT 100000

У меня возникает следующая проблема,это работаЯ извиняюсь, я читаю этот документ, но я чувствую, что мой вариант использования проще, чем большинство показанных: https://cloud.google.com/bigquery/docs/reference/standard-sql/arrays#scanning-arrays

Невозможно получить доступ к полю eventInfo для значения с типом ARRAY> в [2:30]

1 Ответ

0 голосов
/ 10 октября 2018

ниже для BigQuery Standard SQL

#standardSQL
SELECT visitId, totals.pageviews  
FROM `analytics-acquisition-funnel.119485123.ga_sessions_20181009` 
WHERE totals.pageviews > 2 
AND (SELECT COUNTIF(eventInfo.eventAction = 'modal-click') FROM UNNEST(hits)) > 0 
ORDER BY totals.pageviews DESC 
LIMIT 100000   

ИЛИ

#standardSQL
SELECT visitId, totals.pageviews  
FROM `analytics-acquisition-funnel.119485123.ga_sessions_20181009` 
WHERE totals.pageviews > 2 
AND EXISTS(SELECT 1 FROM UNNEST(hits) WHERE eventInfo.eventAction = 'modal-click')
ORDER BY totals.pageviews DESC 
LIMIT 100000
...