Выбор значения пользовательского показателя уровня попадания из экспорта Google Analytics в большом запросе - PullRequest
0 голосов
/ 25 октября 2018

Мы создали пользовательскую метрику уровня попадания в Google Analytics, которую я хочу получить в BigQuery.При выполнении следующего запроса:

#StandardSQL
SELECT h.page.pagePath, SUM(h.customMetrics.value)
FROM `141884522.ga_sessions_20181024`, UNNEST(hits) as h
GROUP BY h.page.pagePath

я получаю эту ошибку:

Error: Cannot access field value on a value with type ARRAY<STRUCT<index 
INT64, value INT64>> at [2:45]

Я могу выбрать только h.customMetrics (без группировки), который возвращает h.customMetrics.value и h.customMetrics.index, но я не могу выбрать значение или индекс специально.

Кто-нибудь знает, как это сделать?

1 Ответ

0 голосов
/ 25 октября 2018
#standardSQL
SELECT h.page.pagePath, SUM(metric.value)
FROM `141884522.ga_sessions_20181024`, UNNEST(hits) AS h, UNNEST(h.customMetrics) metric
GROUP BY h.page.pagePath

Кстати, если вы хотите увидеть все pagePath, в том числе с отсутствующими метриками (в случае cse, если это относится к вашим данным) - я бы рекомендовал заменить CROSS JOIN на LEFT JOIN, как в примере ниже

#standardSQL
SELECT h.page.pagePath, SUM(metric.value)
FROM `141884522.ga_sessions_20181024`, UNNEST(hits) AS h  
LEFT JOIN UNNEST(h.customMetrics) metric
GROUP BY h.page.pagePath
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...