Update nested field in BigQuery table

后端 未结 3 1882
醉话见心
醉话见心 2020-12-20 22:44

I am trying to perform what, you would think, is a trivial operation in BigQuery; I am trying to update a nested field in a BigQuery table that is the result of a 360 export

3条回答
  •  猫巷女王i
    2020-12-20 23:36

    If you need to modify a given custom dimension you can use this:

    #standardSQL
    UPDATE `tablename`
    SET hits = 
      ARRAY(
        SELECT AS STRUCT * REPLACE(
          ARRAY(
            SELECT AS STRUCT cd.index,
              CASE WHEN cd.index = index_number THEN 'new value'
              ELSE cd.value
              END
            FROM UNNEST(customDimensions) AS cd
          ) AS customDimensions)
        FROM UNNEST(hits) hit
      )
    WHERE TRUE
    

    But it takes a while to run.

提交回复
热议问题