ga_sessions的BigQuery _TABLE_SUFFIX

问题描述 投票:0回答:2

此查询工作正常...

SELECT page.* FROM `zentinel-datawarehouse.xxx.ga_sessions_20170601` ga,
UNNEST (hits) hits,
UNNEST (hits.page) page

但是当我需要使用_table_suffix时

SELECT page.* FROM `zentinel-datawarehouse.xxx.ga_sessions_*` ga,
UNNEST (hits) hits,
UNNEST (hits.page) page
WHERE _TABLE_SUFFIX>=20170601

不再工作......

这发生在那个日期,因为hits.page是记录可重复...在08或09月工作正常,因为是记录NULL任何想法???

问候

google-analytics google-bigquery
2个回答
1
投票

如果您收到以下错误消息

错误:UNNEST中引用的值必须是数组。 UNNEST在[3:9]包含STRUCT类型的表达式

我认为一些表有不同的模式,尝试找到应用模式更改的时间,jan-feb可能有一个模式,并且自3月更新了模式。

使用Google Analytics导出,您经常会遇到此架构更改。

你可以在这里做的是修补你的表格,例如:修改架构的方向可以帮助你。如果不进行修复,您需要有两个不同的查询来定位两个模式(如果GA团队随时改变,将会有更多的模式)。

您应该有一个脚本,该脚本不断传播到先前的表,它们通过较新的更新引入了所有架构更改。


0
投票

hits.page不是数组而是结构。你已经交叉加入“命中”(这是一个数组),这应该足够了。您只能交叉连接数组或表。您希望删除此语句,因为它仅在hits.page为null时才有效:

SELECT
  page.*
FROM
  `project.dataset.ga_sessions_201712*` t, t.hits h
LIMIT
  1000
© www.soinside.com 2019 - 2024. All rights reserved.