2017-01-23 58 views
0

结合TABLE_DATE_RANGE当我用来做这样的单日GA表的查询:“数据集名缺少”与UNNEST

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

TABLE_DATE_RANGE是BigQuery中传统的SQL支持通配符表功能,而在BigQuery的标准SQL支持UNNEST功能

您应该使用_TABLE_SUFFIX,它也支持标准SQL

#standardSQL 
SELECT ... 
FROM `<id>.ga_sessions_*`, UNNEST(hits) AS h 
WHERE _TABLE_SUFFIX BETWEEN '20170101' AND '20170110' 
+0

谢谢!这解决了它!错误信息可能会更清晰,但... –