【问题标题】:Querying customDimensions in Google Bigquery在 Google Bigquery 中查询 customDimensions
【发布时间】:2015-06-25 20:57:55
【问题描述】:

有人可以解释如何在 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%';

但是现在当我尝试进行聚合时,或者如果我尝试不使用 group by 的 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 的叉积。

【问题讨论】:

    标签: aggregate-functions google-bigquery


    【解决方案1】:

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

    FLATTEN 将重复字段转换为可选字段。给定一条记录,其中包含多个重复字段的值,FLATTEN 将其展开为多条记录,(以前的)重复字段的每个值对应一条记录;任何不重复的字段都会重复以填写形成的每条新记录。 FLATTEN 移除一层嵌套。

    阅读更多关于FLATTEN

    您需要将查询重写为:

    SELECT .... FROM FLATTEN(FLATTEN(GA_SESSION,customDimensions),hits.customDimensions)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 2014-05-23
      • 2021-02-26
      • 1970-01-01
      相关资源
      最近更新 更多