财务报表想要自动计算每天的期末期初余额
期末=期初+收入1+收入2-支出1-支出2
前一天的期末数据=第二天期初数据
现在只给一个2021年12月31日的期末余额(也是2022年1月1日的期初余额),收入和支出每天填报,如何自动计算出2022年每日的期末和期初并保存在一个表里便于查询(节假日不填,每天取数都取的是有数据的工作日)
有大神知道怎么做吗,求助
感谢1楼大哥提供的思路,最后我是将每日的收支差额算出来,然后再和期初余额用开窗函数进行每日累加实现了我的需求
2021-12-31 假如是500
那么你们填报人员,每天填的数据是如何的,有时间吧。。有入有出。。你们业务填报是不是类似流水账一样如下
2022-01-01 入 30
2022-01-01 出 15
2022-01-02 出 3
使用开窗函数实现,大致代码如下
if OBJECT_ID('tempdb..#T') is not null drop table #T
create table #T(日期 date,期初 int default 0,收入 int default 0,支出 int default 0,期末 int default 0)
insert into #T(日期,期初,收入,支出)
select '2022-01-01',500,0,0
union all
select '2022-01-02',0,222,123
select '2022-01-03',0,323,125
select '2022-01-06',0,125,234
;with t as (select *,sum(期初+收入-支出) over(order by 日期) 余额 From #T)
update t set 期末=余额
select * from #T