访问财政年度和 pytd 表;如何让它变得更好

问题描述

我在创建基于上一个完整月的财政 YTD 数据查询时遇到问题。我想知道如何比我的临时解决方案更好地解决这个问题(基本上更快)。主要的一点是它应该在不修改代码的情况下始终工作。

源表中的数据晚了~1个月(目前我有从2019/01/01开始到2021/01/31的数据)。

我的目标是有一个表(查询),其中包含从去年 12 月到最后一个完整月以及去年同期的记录。 换句话说:如果我有截至 2021/02/28 的数据,结果应该是 2019 年 12 月、2020 年 1 月、2020 年 2 月、2020 年 12 月、2021 年 1 月、2021 年 2 月的记录。

我现在做的查询

SELECT A.*,IIF( YEAR(DateAdd("m",1,A.[Issue_date]))  >= (SELECT fYear from  __MAXyearair ),'YTD','PYTD') AS Yr

FROM Air AS A

WHERE  
MONTH(DateAdd("m",A.[Issue_date])) <= (SELECT fMonth FROM __MAXyearair) AND YEAR(DateAdd("m",A.[Issue_date])) >= (SELECT fmYEar FROM __MAXyearair) 

__MAXyearair 只是一个表格,只有一行,只有用于条件的字段;对于上述 fmYear 将是 2020,fYear = 2021,fMonth = 3

删除代码中所有不重要的元素(附加字段和连接)并将字段名称更改为 * 以使其更短。

有没有可能让它更快?它有效,但我认为它不是很有效。上面的查询稍后被不同的查询用作源。

我一直在想,也许可以制作一个包含月-年和相应 YT 值的表格,例如:

Dec-2019 | PYTD
Jan-2020 | PYTD
Feb-2020 | PYTD
Dec-2020 | YTD
Jan-2021 | YTD
Feb-2021 | YTD

然后在 Air 表和上面的表之间创建一个连接。是否可以更快,以及如何在每次需要时编写自动查询生成上表?没有 VBA 有可能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)