首页 > Web开发 > 详细

用Jasper计算交叉增长率

时间:2015-11-04 02:16:25      阅读:366      评论:0      收藏:0      [点我收藏+]

? ?来源:http://community.jaspersoft.com/questions/847490/how-get-annual-growth-rate-crosstab?。

??交叉表的每一列都是动态生成的,进行列间计算时需要动态引用,用Jasper脚本实现此类需求有一定难度,用集算器在数据准备阶段实现则相对简单,下面用例子来说明。

??数据库表store存储着多种产品在2014、2015年的销售量,需要用交叉表呈现每种产品每年的销售量,并计算出各产品的年增长率。部分源数据如下:


bubuko.com,布布扣
?

? ?集算器代码:


bubuko.com,布布扣
?

? ?A1:取出store表的记录。

??A2:追加各产品的年增长率。group按产品分组,run对每组数据依次计算,record追加记录,~(i)表示当前组中的第i条记录。A2的计算结果如下:


bubuko.com,布布扣
?

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

??用Jasper设计最简单的交叉表:


bubuko.com,布布扣
?

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


bubuko.com,布布扣
?

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

用Jasper计算交叉增长率

原文:http://datamachine.iteye.com/blog/2253961

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!