此计算列的公式该怎样写?

cherrymas 2003-07-04 04:40:52
数据窗口d_cx如下
日期 凭证号 摘要 借方发生额 贷方发生额 余额
1月2号 1 人民 2000

1月5号 2 大学 3000

月小计 5000 5000

2月3号 1 朋友 4000
2月10号 2 帮助 1000
月小计 1000 4000 2000

其中2月小计的余额为1月的余额+2月借方发生-2月贷方发生得到。
此数据窗口除余额外均能从数据库表hs_pzk中取数,月小计行为数据窗口按月分组后借方发生额用sum(jffs for group 1)得到,贷方为sum(dffs for group 1)

但关键问题是余额得不到正确值,因为若用计算列sum(jffs for group 1)-sum(dffs for group 2)则2月份余额为-3000,而不能加上上月的5000.
请朋友们帮忙出出主意,怎样得到正确的余额。
写代码余额列在数据库表hs_pz中是不存在的。是不是只能用计算列。

...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
klbt 2003-07-05
  • 打赏
  • 举报
回复
用下面的计算域试试:
sum(jffs for group 1)+sum(jffs for group 2)-sum(dffs for group 2)
tchatcha 2003-07-04
  • 打赏
  • 举报
回复
up
bomber2001 2003-07-04
  • 打赏
  • 举报
回复
gz
cherrymas 2003-07-04
  • 打赏
  • 举报
回复
pengdali(大力 V2.0) :谢谢您的指点,但在余额处的计算公式应是通用的,不只有2月,下边还有3-12月的数据呢。
请示意一下datadiff()函数的含义及参数好吗?时间在数据库表中字段为nyr,month(nyr)取其月份。
我有点明白了,你的意思是取凭证日期小于2月份的放入1月的ye中,如能行,不错,但怎样将2002-2-1换成通用以适合所有月份呢。只能用外部数据窗口一个月一个月的去插余额了。
Thinkinger 2003-07-04
  • 打赏
  • 举报
回复
不如用存储过程加临时表的方式做数据窗口的数据源就很容易了!
pengdali 2003-07-04
  • 打赏
  • 举报
回复
select sum(借方发生额)-sum(贷方发生额) 余额 from d_cx where datediff(month,时间,'2002-2-1')<=0

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧