Google bigquery 如何在Google BigQuery中操作当前的_DATE()?

Google bigquery 如何在Google BigQuery中操作当前的_DATE()?,google-bigquery,Google Bigquery,我们在BigQuery中有一个计划查询,它基于大视图将数据附加到表中。该视图引用其他视图,而这些视图又引用其他视图。在最低级别,视图根据当前的_DATE()获取数据。是这样的: 视图1(视图1): 从'project\u name.dataset\u name.first\u table'中选择日期,将(1)计数为RecordCount,其中日期(\u PARTITIONTIME)=日期添加(当前日期(),间隔-1天)按日期分组 视图2(视图2): 从'project\u name.datase

我们在BigQuery中有一个计划查询,它基于大视图将数据附加到表中。该视图引用其他视图,而这些视图又引用其他视图。在最低级别,视图根据当前的_DATE()获取数据。是这样的:

视图1(视图1):

从'project\u name.dataset\u name.first\u table'中选择日期,将(1)计数为RecordCount,其中日期(\u PARTITIONTIME)=日期添加(当前日期(),间隔-1天)按日期分组

视图2(视图2):

从'project\u name.dataset\u name.second\u table'中选择日期,将(1)计数为RecordCount,其中日期(\u PARTITIONTIME)=日期添加(当前日期(),间隔-1天)按日期分组

视图3(视图3):
从'project\u name.dataset\u name.view\u 1`a LEFT JOIN`project name.dataset\u name.view\u 2`b中选择a.Date、a.RecordCount、b.RecordCount。a.Date=b.Date

我想要的是类似回填的东西;操纵当前的_DATE(),以便我可以为某个历史时期构建此表。我尝试过使用“手动运行”来测试它,但它总是输出相同的数据。我编写的计划查询类似于:

从'project\u name.dataset\u name.table\u name'中选择COUNT(1)作为记录计数,其中DATE(\u PARTITIONTIME)=DATE\u ADD(CURRENT\u DATE(),INTERVAL-1天)

当我从2020年1月1日开始并在2020年1月31日结束手动运行时,目标表中的输出始终是昨天的记录数(这意味着当前的_DATE()仍然是今天)

如果我没记错的话,我过去可以使用“回填”来实现这一点,但其中的输出似乎与替代回填的手动运行不同

预期输出类似于:

2020-03-02 329411201

2020-03-01 2984 10812

2020-02-29 31212121

2020-02-28 2912 12239

但手动运行的输出为:

2020-03-02 329411201

2020-03-02 329411201

2020-03-02 329411201

2020-03-02 329411201


……/P>你能添加一些你正在获得的输出和输出的例子吗?请考虑双查询日期在UTC区域,我将把它添加到原来的问题。你如何执行手动执行?如果在同一日期执行此操作,并查找2020年1月1日至2020年1月31日之间的日期,则当前的_date函数将始终返回相同的日期。@ebeltran在BigQuery UI(旧的)中,在计划查询概述页面中有“开始手动运行”选项。我把开始日期(即2020年1月1日)和结束日期(2020年1月31日)放在那里。当我运行这些时,我在概览中看到查询的运行日期是正确的(从2020年1月1日开始),但查询的输出是今天的真实日期(而不是2020年1月1日)。我过去成功地使用了这个功能,但现在似乎有些不对劲。新UI与回填层相同;不是正确的结果。