首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UNNEST(hit.eCommerceAction),谷歌Bigquery

UNNEST(hit.eCommerceAction),谷歌Bigquery
EN

Stack Overflow用户
提问于 2017-01-11 08:00:37
回答 1查看 4.4K关注 0票数 2

我使用了相同的逻辑来取消hit.eCommerceAction的嵌套,但它不像其他字段那样工作。对这个问题有什么帮助吗?另外,max(if())函数是用来获取两个hits.customeDimenison.value的正确函数吗?

代码语言:javascript
复制
SELECT
 Date
  ,COUNT(DISTINCT FULLVISITORID)
 , product.v2ProductCategory

  ,max(if(customDimensions.index=2, customDimensions.value,null))  as dest
  ,max(if(customDimensions.index=21, customDimensions.value,null))  as pax
 ,eCommerceAction.action_type
 ,product.v2ProductName

FROM `table` as t
  CROSS JOIN UNNEST(hits) AS hit
  CROSS JOIN UNNEST(hit.customDimensions) AS customDimensions
  CROSS JOIN UNNEST(hit.eCommerceAction) as eCommerceAction
  CROSS JOIN UNNEST(hit.product) AS product
GROUP BY 
      Date
      ,product.v2ProductCategory
    ,eCommerceAction.action_type
,product.v2ProductName

我得到的错误代码是Error: UNNEST中引用的值必须是数组。UNNEST包含类型为STRUCT的表达式

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-11 09:03:22

我可以用一个更简单的查询重现这个错误:

代码语言:javascript
复制
#standardSQL
SELECT DISTINCT hit.eCommerceAction.action_type 
FROM `73156703.ga_sessions_20170109` t
  , UNNEST(hits) hit
  , UNNEST(hit.customDimensions) customDimensions
  , UNNEST(hit.eCommerceAction) as eCommerceAction

这里的问题是eCommerceAction不是REPEATED记录,因此没有UNNEST的数组。

固定查询:

代码语言:javascript
复制
#standardSQL
SELECT DISTINCT hit.eCommerceAction.action_type 
FROM `ga_sessions_20170109`  t
  , UNNEST(hits) hit
  , UNNEST(hit.customDimensions) customDimensions
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41580589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档