Google bigquery Google BigQuery-更新嵌套重复字段

Google bigquery Google BigQuery-更新嵌套重复字段,google-bigquery,Google Bigquery,我正在尝试更新BigQuery中Google Analytics导出中的hits.page.pagePath字段,但是我无法使用文档中概述的方法取消该字段的设置。在我的例子中,pagePath字段嵌套在两个级别,hits和page 下面的代码是不完整的,但我一直无法从页面记录中取消对pagePath的测试 UPDATE `project-name.datasetId.ga_sessions_yyyymmdd` SET hits = ARRAY( SELECT page.pagePath

我正在尝试更新BigQuery中Google Analytics导出中的hits.page.pagePath字段,但是我无法使用文档中概述的方法取消该字段的设置。在我的例子中,pagePath字段嵌套在两个级别,hits和page

下面的代码是不完整的,但我一直无法从页面记录中取消对pagePath的测试

UPDATE `project-name.datasetId.ga_sessions_yyyymmdd`

SET hits = ARRAY( 
  SELECT page.pagePath FROM UNNEST(hits) as pagePath
  )

WHERE fullVisitorID like "%1%"
是否有人设法在GA导出中使用更新此字段或类似字段


谢谢。

这将有助于您开始。为了执行更新,您需要包括点击的所有其他内容,包括嵌套页面


下面是BigQuery标准SQL

UPDATE `project-name.datasetId.ga_sessions_yyyymmdd`
SET hits =  ARRAY(
    SELECT AS STRUCT * REPLACE(
      (SELECT AS STRUCT * 
        REPLACE('Your New pagePath' AS pagePath) 
        FROM UNNEST([page])
      ) AS page) 
    FROM UNNEST(hits)
  ) 
WHERE fullVisitorID like "%1%"    
正如您在上面的示例中所看到的,您将用字符串“yournewpagepath”替换pagePath 当然,在现实中,您可能希望在这里有一些逻辑-因此,将该部分替换为您需要的任何逻辑-例如,您需要将整个字符串上移-您将使用以下内容

        REPLACE(UPPER(pagePath) AS pagePath) 

我不太明白你想在这里做什么。为什么要更新ga_会话表的命中率?出口出了什么问题?你想用fullvisitor在其会话中的相同点击率来更新它吗?我意识到,当有人问起我的原始答案时,我把它弄糟了:谢谢你也发布了一个答案!当然,我注意到你的原始答案有点不符合犹太教义,所以我发布了我的答案:oI必须修改内部位,例如ARRAYSELECT为STRUCT*REPLACE。。。。从UNNESTpage as page,否则我会得到创建嵌套数组是不受支持的错误。
        REPLACE(UPPER(pagePath) AS pagePath)