2017-03-17 36 views
0

來自涉及TABLE_DATE_RANGE的Google BigQuery食譜的示例在首選的「標準SQL」中不起作用,儘管它們在較早的「傳統SQL」中工作。 傳統SQL樣式命令的示例。TABLE_DATE_RANGE Google BigQuery中的困難

FROM (TABLE_DATE_RANGE([73156703.ga_sessions_], DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY'))) 

我用反引號(`)括表名,而不是傳統型的方括號,但它失敗,晦澀的消息

Error: Table-valued functions are not supported 

任何想法?

回答

2

您需要使用wildcard table代替TABLE_DATE_RANGE,這是特定於傳統的SQL。一個例子是:

#standardSQL 
SELECT * 
FROM `your_dataset.ga_sessions_*` 
WHERE PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN 
    DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND 
    CURRENT_DATE(); 

你可以閱讀更多有關migration guide傳統和標準SQL之間的差異。

1

對於標準SQL,你需要寫的這個例子:

FROM `google.com:analytics-bigquery.LondonCycleHelmet.ga_sessions_*` 
WHERE _TABLE_SUFFIX BETWEEN '20130910' AND '20130910'