使用 BigQuery 访问 Google 个 Analytics 自定义维度

Accessing Google Analytics Custom Dimensions with BigQuery


我想从我的 GA BigQuery 数据中获取以下架构: 主机名;自定义维度2;自定义维度3;页面浏览量;屏幕浏览量;总事件;会话

起初我只想获取主机名和 cd2,我的查询如下所示:

SELECT hits.page.hostname, hits.customDimensions.value  
FROM `dataset`, UNNEST(hits) as hits  
WHERE hits.customDimensions.index = 2 
LIMIT 1000

我收到以下错误:
无法访问 [1:162]

类型为 ARRAY> 的值的字段索引

那么我如何处理两个不同的 BigQuery 数组?

以下适用于 BigQuery 标准 SQL

#standardSQL
SELECT hit.page.hostname, customDimension.value  
FROM `dataset`, UNNEST(hits) AS hit, UNNEST(hit.customDimensions) AS customDimension 
WHERE customDimension.index = 2 
LIMIT 100

由于该数组中最多可以有 200 个字段,而且您通常只需要其中一个字段,因此最好不要与其交叉连接,而是编写一个小子查询。

SELECT 
  page.hostname, 
  (SELECT value FROM UNNEST(h.customDimensions) WHERE index=2) AS cd2 
FROM `dataset`, 
  UNNEST(hits) as h  
LIMIT 1000

与交叉联接版本相比,您拥有的数据越多,此查询的执行速度就越快。子查询总是比交叉连接快。