我们已经在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,但是我不能专门选择值或索引。
有人知道该怎么做吗?
答案 0 :(得分:2)
#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中,如果您的数据属于这种情况)-我建议使用LEFT JOIN替换CROSS 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