用ireport怎么实现总计和小计?
3个回答
展开全部
可以用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.
最后要做的只是把这个变量拖到报表上.
展开全部
用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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
昨天刚遇到这个问题,已经解决了
追加一个变量,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,不然的话,紧跟着下面的总计就会叠加了,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询