用ireport怎么实现总计和小计?

 我来答
慎重还可靠灬宝贝f
推荐于2016-10-24 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2626万
展开全部
  可以用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.
  最后要做的只是把这个变量拖到报表上.
PatricJin
2011-09-10
知道答主
回答量:1
采纳率:0%
帮助的人:1714
展开全部
用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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纠纠Jono
2012-02-29 · 贡献了超过116个回答
知道答主
回答量:116
采纳率:0%
帮助的人:33万
展开全部
昨天刚遇到这个问题,已经解决了
追加一个变量,Variable
Variable的属性的Variable class设为java.lang.Integer, Calculation设为Sum
Variable Expression 为你要统计的字段,比如$F{money}
但貌似这样的话要加上group,不然的话,紧跟着下面的总计就会叠加了,
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式