我正在尝试更新BigQuery中Google Analytics导出中的hits.page.pagePath字段,但是我无法使用文档中概述的方法取消该字段。在我的例子中,pagePath字段嵌套在两个级别,“点击”和“页面”。
https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#update_repeated_records
以下代码不完整,但是我在页面RECORD中遇到了不需要的pagePath。
UPDATE `project-name.datasetId.ga_sessions_yyyymmdd`
SET hits = ARRAY(
SELECT page.pagePath FROM UNNEST(hits) as pagePath
)
WHERE fullVisitorID like "%1%"
是否有人设法在GA导出中使用更新此字段或类似字段?
感谢。
答案 0 :(得分:1)
以下是用于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%"
如上例所示,您可以将pagePath替换为字符串“您的新pagePath”
当然,实际上,您会希望在这里有一些逻辑-因此,请将该部分替换为所需的任何逻辑-例如,例如,您需要对整个字符串进行UPPER-您将使用以下
REPLACE(UPPER(pagePath) AS pagePath)
答案 1 :(得分:0)
这应该有助于您入门。您需要包含hits
中的所有其他内容才能执行更新,包括嵌套的page
。
UPDATE `you_dataset.tablename`
SET hits = ARRAY(
SELECT AS STRUCT * REPLACE (
(SELECT AS STRUCT page.* REPLACE ('foo' AS pagePath)) AS page
)
FROM UNNEST(hits) as pagePath
)
WHERE fullVisitorID like "%1%"