用ireport怎么实现总计和小计?
答案:3 悬赏:20
解决时间 2021-03-29 04:48
- 提问者网友:人傍凄凉立暮秋
- 2021-03-28 05:25
用ireport怎么实现总计和小计?
最佳答案
- 二级知识专家网友:躲不过心动
- 2021-03-28 06:04
可以用Jaspersoft iReport。
Variable->Variable的属性的Variable class设为java.lang.Integer, Calculation设为Sum->
总计:Variable的属性的Variable Expression设为DataSet的域。如:$F{XXX}
小计:Variable的属性的Variable Expression设为DataSet的域,并用三元表达式筛选出集计的值 如:$F{XXX}==‘B’?$F{YYY} : 0
设个变量,resettype为group,calculationType为count.。只要灵活应用分组+交叉表+子报表,就能行。
通过变量可以设置你要分组累计的具体列,做法:Document-->Variables-->Variable Name处填写一个自定义名称,Variable Class Type处选择累计的信息的数据类型,Calculation Type选择Sum求和。Reset Type处选择分组或别的方式重新设置值得依据。IncreamentType不填。Variable Expression填写你要累计的对象表达式。Initial Value Expression处填写数据类型的初始化对象。-->最后在调用的地方学则Variables,从中选择刚刚配置好的变量,即可。
报表中经常需要进行合计了,这里我介绍一下如何使用变量进行合计:可以添加一个变量,将Calculation Type设置为Sum,Reset Type里面有None,Report,Page,Column,Group,这个很好理解,就是在相应的范围重新设置值,比如选择Group,也就是说当组 发生变化时,该变量的值就重新初始化,Increment Type里面也有这几个选择项,注意的是,当选择None,就表示只要换了一行,就把对应的值相加,所以一般我们应该选则None.Varialbe Expression的值设置为 new Integer($F{COST}),表示对Cost的值求和,Initial value Expression 设置为new java.lang.Integer(0),表示每次从0开始,比如前面Calculation Type设置为Group时,就表示如果换组时,这个变量的初始值为0.
最后要做的只是把这个变量拖到报表上.
Variable->Variable的属性的Variable class设为java.lang.Integer, Calculation设为Sum->
总计:Variable的属性的Variable Expression设为DataSet的域。如:$F{XXX}
小计:Variable的属性的Variable Expression设为DataSet的域,并用三元表达式筛选出集计的值 如:$F{XXX}==‘B’?$F{YYY} : 0
设个变量,resettype为group,calculationType为count.。只要灵活应用分组+交叉表+子报表,就能行。
通过变量可以设置你要分组累计的具体列,做法:Document-->Variables-->Variable Name处填写一个自定义名称,Variable Class Type处选择累计的信息的数据类型,Calculation Type选择Sum求和。Reset Type处选择分组或别的方式重新设置值得依据。IncreamentType不填。Variable Expression填写你要累计的对象表达式。Initial Value Expression处填写数据类型的初始化对象。-->最后在调用的地方学则Variables,从中选择刚刚配置好的变量,即可。
报表中经常需要进行合计了,这里我介绍一下如何使用变量进行合计:可以添加一个变量,将Calculation Type设置为Sum,Reset Type里面有None,Report,Page,Column,Group,这个很好理解,就是在相应的范围重新设置值,比如选择Group,也就是说当组 发生变化时,该变量的值就重新初始化,Increment Type里面也有这几个选择项,注意的是,当选择None,就表示只要换了一行,就把对应的值相加,所以一般我们应该选则None.Varialbe Expression的值设置为 new Integer($F{COST}),表示对Cost的值求和,Initial value Expression 设置为new java.lang.Integer(0),表示每次从0开始,比如前面Calculation Type设置为Group时,就表示如果换组时,这个变量的初始值为0.
最后要做的只是把这个变量拖到报表上.
全部回答
- 1楼网友:北方的南先生
- 2021-03-28 07:09
用Jaspersoft iReport的话:
追加Variable->Variable的属性的Variable class设为java.lang.Integer, Calculation设为Sum->
总计:Variable的属性的Variable Expression设为DataSet的域。如:$F{XXX}
小计:Variable的属性的Variable Expression设为DataSet的域,并用三元表达式筛选出集计的值 如:$F{XXX}==‘B’?$F{YYY} : 0
追加Variable->Variable的属性的Variable class设为java.lang.Integer, Calculation设为Sum->
总计:Variable的属性的Variable Expression设为DataSet的域。如:$F{XXX}
小计:Variable的属性的Variable Expression设为DataSet的域,并用三元表达式筛选出集计的值 如:$F{XXX}==‘B’?$F{YYY} : 0
- 2楼网友:患得患失的劫
- 2021-03-28 06:13
昨天刚遇到这个问题,已经解决了
追加一个变量,Variable
Variable的属性的Variable class设为java.lang.Integer, Calculation设为Sum
Variable Expression 为你要统计的字段,比如$F{money}
但貌似这样的话要加上group,不然的话,紧跟着下面的总计就会叠加了,
追加一个变量,Variable
Variable的属性的Variable class设为java.lang.Integer, Calculation设为Sum
Variable Expression 为你要统计的字段,比如$F{money}
但貌似这样的话要加上group,不然的话,紧跟着下面的总计就会叠加了,
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯