背景
我在BigQuery上有两个数据集。
数据集1的名称为“12345678”,其表格的名称为“ga_sessions_yyyymmdd”。例如,表格名称类似于ga_sessions_20140721,ga_sessions_20150413等。
数据集2被命名为“DestinationTables”。表名的格式为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'));
此查询已成功运行。
我现在在数据集2 :
上运行类似的查询SELECT
[fullVisitorId] AS [fullVisitorId]
FROM TABLE_DATE_RANGE([DestinationTables.],TIMESTAMP('2014-07-21'),TIMESTAMP('2014-07-25'));
但是,这会错误地显示消息:
错误:无法解析表:DestinationTables
为什么会这样?任何有关这方面的见解将不胜感激。
提前致谢!
答案 0 :(得分:1)
在第一个示例中,标识数据集和表前缀的语法是正确的:
[12345678.ga_sessions _]
正如the docs for this function中所解释的那样,它将扩展到涵盖格式的表格(数据集12345678):
ga_sessions_yyyymmdd
但是,在第二个示例中,标识符仅在一个点处停止,它应继续标识表前缀。我认为问题在于你没有前缀,所以字符串末尾的裸点让解释器感到困惑。
您可能需要更改表格以使用某种前缀,即使它只是一个下划线,这样您就可以在调用TABLE_DATE_RANGE
时正确指定前缀