2015-06-25 141 views
0

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

我查询的工作与简单的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没有GROUP BY,我得到即

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

那些是重复的字段,你需要FLATTEN他们才能查询。

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

了解更多关于FLATTEN

您需要查询改写成:

SELECT .... FROM FLATTEN(FLATTEN(GA_SESSION,customDimensions),hits.customDimensions) 
相关问题