ga_sessions的BigQuery _TABLE_SUFFIX

时间:2017-12-19 12:52:26

标签: google-analytics google-bigquery

此查询工作正常......

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 任何想法???

REGARDS

2 个答案:

答案 0 :(得分:1)

如果您收到以下错误消息

  

错误:UNNEST中引用的值必须是数组。 UNNEST包含   在[3:9]

表达STRUCT类型

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

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

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

您应该拥有一个脚本,该脚本会不断地将更新更新引入的所有架构更改传播到上一个表。

答案 1 :(得分:0)

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

SELECT
  page.*
FROM
  `project.dataset.ga_sessions_201712*` t, t.hits h
LIMIT
  1000