涉及TABLE_DATE_RANGE的Google BigQuery食谱中的示例不适用于首选的"标准SQL"虽然它们适用于旧的" Legacy SQL"。 传统SQL样式命令的示例。
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
有什么想法吗?
答案 0 :(得分: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 :(得分:1)
对于标准SQL,您需要编写此示例:
FROM `google.com:analytics-bigquery.LondonCycleHelmet.ga_sessions_*`
WHERE _TABLE_SUFFIX BETWEEN '20130910' AND '20130910'