使用 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
与交叉联接版本相比,您拥有的数据越多,此查询的执行速度就越快。子查询总是比交叉连接快。
我想从我的 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]
那么我如何处理两个不同的 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
与交叉联接版本相比,您拥有的数据越多,此查询的执行速度就越快。子查询总是比交叉连接快。