如何在GCP中的动态表格中查询以获取今年上一个会计周的日期和去年对应的会计周的日期?

问题描述

所以说我有一个每周刷新的表。有一个会计周(FW)列。假设我们当前处于第32财政周,此查询应采用的方式是,我们始终需要前一周,因此在此示例中为FW31。但是,我不仅需要今年的FW31,而且也需要去年的FW31。如果可能的话,创建动态查询方法是什么?

下表示例:

YEAR  |  FW  |  Dates       |  Info_1  
...   |  ... |  ...         |  ...
2019  |  30  |  09-02-2020  |  blah
2019  |  30  |  09-03-2020  |  blah
2019  |  30  |  09-04-2020  |  blah
...   |  ... |  ...         |  ...
2019  |  31  |  09-10-2020  |
...   |  ... |  ...         |  ...
2020  |  30  |  09-06-2020  |  
...   |  ... |  ...         |  ...
2020  |  31  |  09-14-2020  |  blah
2020  |  31  |  09-15-2020  |  blah
2020  |  31  |  09-16-2020  |  blah
...   |  ... |  ...         |  ...

据我所知,无法按日期进行操作,因为今年的会计周可能与去年同一会计周的确切日期不符。因此,我打算利用“ FW”列进行拉动。但是,再次,我希望查询能够每周更改一次,从31更改为32,以此类推。这是在Google Cloud Platform中,因此,我希望将其另存为视图。

解决方法

鉴于我不知道您对“财政周”的实际含义,可能的解决方法如下:

SELECT * 
FROM `example_db`.`example_table` 
WHERE 
    `FW` = weekofyear(date(now())-7) AND
    `YEAR` IN (year(now()),year(now())-1);