集算器协助Jasper计算贷款分期

  来源:http://community.jaspersoft.com/questions/851148/loop-jasper

  根据贷款额计算贷款分期时需要进行循环计算和跨行计算,用存储过程或Scriptlets实现的难度较大,用集算器协助Jasper可以轻松实现,下面用例子来说明。

  库表loan存储着贷款信息,包括贷款总额、按月分期数、年利率。要求用Jasper实现一张分组表,在每条贷款信息下列出各期明细,包括:当期还款额、当期利息、当期本金、剩余本金。表loan的部分数据如下:


 

   用集算器准备数据:



 

  A1:执行SQL,取出loan中的记录。

  A2:给A1增加计算列:月利率mRate和每期还款额mPayment。结果如下:



 

  A3:根据贷款信息计算各期明细。A2.()是循环函数,可对A2的成员依次进行计算,其内部的”()”是分步计算,返回最后一个逗号的计算结果。函数new用来生成新的二维表。A3的计算结果是层次数据,如下:



 

  A4:合并层次数据,形成分期明细二维表。

  A5:返回结果给报表。集算器对外提供JDBC接口,报表工具会将集算器识别为普通数据库。 

  下面用Jasper设计一张简单的分组表,模板如下:


  预览后可以看到报表结果:


 报表调用集算器的方法和调用存储过程一样,比如将本脚本保存为loan.dfx,则在Jasper的SQL设计器中可以用call loan()来调用并传入参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值