在Google Bigquery中查询customDimensions

时间:2015-06-25 20:57:55

标签: aggregate-functions google-bigquery

有人可以解释如何在bigquery中查询customDimensions吗?

我的查询使用简单的where子句,即

SELECT COUNT(DISTINCT fullVisitorId)
    FROM GA_SESSION
     WHERE hits.customDimensions.index = 4
     AND hits.customDimensions.value = 'variable1'
    AND hits.page.pagePath LIKE '%something%';

但是现在当我尝试进行聚合时,或者如果我在没有分组的情况下尝试EXACT_COUNT_DISTINCT,我会收到一个错误,即

SELECT date, COUNT(DISTINCT fullVisitorId)
FROM GA_SESSION
 WHERE hits.customDimensions.index = 4
 AND hits.customDimensions.value = 'variable1'
AND hits.page.pagePath LIKE '%something%'
group by date

错误是: 查询失败 错误:无法查询重复字段customDimensions.index和hits.customDimensions.index的叉积。

1 个答案:

答案 0 :(得分:1)

这些是重复的字段,您需要FLATTEN才能查询。

FLATTEN将重复字段转换为可选字段。给定一个具有重复字段值的记录,FLATTEN将其展开为多个记录,对于(以前)重复字段的每个值,记录一个;任何非重复的字段都会重复,以填写所形成的每个新记录。 FLATTEN删除了一级嵌套。

详细了解FLATTEN

您需要将查询重写为:

s