'数据集名称丢失'将TABLE_DATE_RANGE与UNNEST

时间:2017-01-23 10:37:17

标签: sql google-bigquery

我曾经在这样的单日GA表上进行查询:

FROM
  `<id>.ga_sessions_intraday_20170101`,
  UNNEST(hits) AS h

这非常有效,我可以获得所需的所有数据。 现在我尝试查询日期范围;

FROM
   TABLE_DATE_RANGE([<id>.ga_sessions_], TIMESTAMP('YYYY-MM-DD'), TIMESTAMP('YYYY-MM-DD'))

哪个有效,但是当我尝试使用UNNEST(点击)时,会出现此错误:

错误:无法解析表名:缺少数据集名称。

FROM
   TABLE_DATE_RANGE([<id>.ga_sessions_], TIMESTAMP('YYYY-MM-DD'), TIMESTAMP('YYYY-MM-DD')),
   UNNEST(hits) AS h

怎么能解决这个问题?为什么它会这样?

1 个答案:

答案 0 :(得分:1)

TABLE_DATE_RANGE是BigQuery Legacy SQL支持的表通配符函数,而BigQuery Standard SQL支持UNNEST函数

您应该使用标准SQL

中也支持的_TABLE_SUFFIX
#standardSQL
SELECT ...
FROM `<id>.ga_sessions_*`, UNNEST(hits) AS h
WHERE _TABLE_SUFFIX BETWEEN '20170101' AND '20170110'