首页 文章

TABLE_ATE_RANGE Google BigQuery中的困难

提问于
浏览
0

涉及TABLE_DATE_RANGE的Google BigQuery cookbook中的示例在首选的“标准SQL”中不起作用,尽管它们适用于较旧的“旧版SQL” . Legacy 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

有任何想法吗?

2 回答

  • 1

    您需要使用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之间差异的更多信息 .

  • 2

    对于标准SQL,您需要编写此示例:

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

相关问题