BigQuery - TABLE_DATE_RANGE() 函数问题

BigQuery - Issue with TABLE_DATE_RANGE() function

背景:

我在 BigQuery 上有两个数据集。

数据集 1 命名为“12345678”,其中 table 个名称为 'ga_sessions_yyyymmdd'。例如,table 名称如 ga_sessions_20140721、ga_sessions_20150413 等

数据集 2 被命名为 'DestinationTables'。 table 的名称格式为 yyyymmdd。例如20140721、20150413等

问题:

使用 TABLE_DATE_RANGE(),我 运行 在 数据集 1 上执行以下查询:

SELECT 
  [fullVisitorId] AS [fullVisitorId]
FROM TABLE_DATE_RANGE([12345678.ga_sessions_],TIMESTAMP('2014-07-21'),TIMESTAMP('2014-07-25'));

本次查询成功运行s.

我现在 运行 在 数据集 2 上进行类似查询:

SELECT 
  [fullVisitorId] AS [fullVisitorId]
FROM TABLE_DATE_RANGE([DestinationTables.],TIMESTAMP('2014-07-21'),TIMESTAMP('2014-07-25'));

但是,此错误会显示以下消息:

Error: Can't parse table: DestinationTables

为什么会这样?对此有任何见解将不胜感激。

提前致谢!

第一个示例中用于识别数据集的语法和 table 前缀是正确的:

[12345678.ga_sessions_]

并且如 the docs for this function 中所述,它将扩展以涵盖格式为 table 的(在数据集 12345678 中):

ga_sessions_yyyymmdd

但是,在您的第二个示例中,标识符仅以一个点结束,它应该继续识别 table 前缀。我认为问题在于您没有前缀,因此字符串末尾的裸点混淆了解释器。

您可能需要将您的 table 更改为具有某种前缀,即使它只是一个下划线,以便您可以在调用 TABLE_DATE_RANGE[=14= 时正确指定前缀]