我正在尝试(使用 MS Access)按会计年度对一些数据进行分组,该会计年度可能与日历年度不同。
如果每个会计年度总是从给定月份的第一天开始,那么解决方案很简单:可以简单地使用如下 if 语句:
FY: IIf(Month([orderdate])<month([startFYofaCompany]);Year([orderdate])-1;Year([orderdate]))
在选择查询中,例如
SELECT statement here AS FY, Sum(something) AS SumOfSth
GROUP BY statement here;
然而,我的情况的困难在于,给定公司的财政年度可以从给定月份的 1 号以外的日期开始。我一直在寻找解决方案,但每个人都认为不是这样。
如果有人遇到同样的问题并可以分享解决方案,我将不胜感激。
编辑:
没有模式重新。财政年度——数据库由多家公司组成,无论某些公司的财政年度是从 2 号、3 号、15 号还是任何给定月份的任何其他日期开始,数据库都应该有效。开始日期存储在单独的字段中(在上面的伪代码中:startFYofaCompany)。
如果您要考虑月份+日期,那么显然您需要表中相应的 2 个字段(NOT NULL DEFAULT 1
).
添加后,以下将计算年份:
year(orderDate) - IIF(dateserial(year(orderDate), startFYofaCompany_month, startFYofaCompany_day) > orderDate, 1, 0)
将此添加到您在查询中准备的 2 个位置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)