Felix.Li 发表于 2023-1-31 16:06:04

如何实现计算月的累计效果

在我们日常的使用中经常有着用情况,我们库存统计,或者财务统计,计算月份和实际月份是不一样的。比如我们统计库存数量并不是每月1号到31号。而是本月5号到下月4号。那无论是分组求和还是累计计数等,都没办法分组统计这个。
那怎么实现呢?


那上述的实现其实我们可以换个想法,最终的效果就是将本月5号到下月4号分到一组即可。有了想法就开始实现
比如1月5日-1月31日本来就是1月的,那只要让2月1日-2月4日也等于1月的,那就对了。所以我们可以使用一个新的月份去做分组,
也就是计算月,计算月的算法就是5日-31日返回本月,1日-4日返回上月即可。那1月则返回12月。

实现方法
我们的数据如下:

实现本月5日到下月4日的仓库存储量,并按月累计计算每天的入库量,每月4日的就是一个月的入库总和


我们添加两个计算月,
计算月_0:{iif(day(入库时间) < 5, month(入库时间) - 1, month(入库时间))}       实现日小于5,返回成上个月
计算月:      {toInt16(iif(计算月_0 = 0, 12, 计算月_0))}         第一个结果可能出现0月,我们把0月显示为12即可
结果如下

我们能看到,10月的1-4日已经归属到9月了。
最后一步,就是实现分组累计即可,我们可以直接使用RunningValue函数:
{RunningValue(入库数量, "Sum", "矩表1_计算月_分组")}
参数:第一个是计算的字段   第二个是进行的运算(我们这里求和就可以)   第三个是分组的条件,分组条件我们选计算月分组的名称:(截图如下)
   
这样就可以进行分组累计了。
最终呈现效果:


参考报表:
页: [1]
查看完整版本: 如何实现计算月的累计效果