2017-01-23 15 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

謝謝!這解決了它!錯誤信息可能會更清晰,但... –