我想创建一个Jasper模板,它提供了以下输出:
2016-01-01
Category Descritpiton Income
-------- ------------ ------
A ... 1230
B ... 1000
A ... 100
C ... 2500
B ... 10
A ... 10
A ... 5
+--------------------------------------------------+
Sum
A 1355
B 1010
C 100
2016-01-02
Category Descritpiton Income
-------- ------------ ------
A ... 500
B ... 100
B ... 100
E ... 2500
B ... 10
A ... 10
A ... 5
+--------------------------------------------------+
Sum
A 515
B 210
E 2500
(more days...)我有一个SQL数据源,它有一个包含必要列的表。我可以创建一个报告,其中收入按日分组(我用一个组实现了这一点,在select语句中使用了order-by )。就像这样:
2016-01-01
Category Descritpiton Income
-------- ------------ ------
A ... 1230
B ... 1000
A ... 100
C ... 2500
B ... 10
A ... 10
A ... 5
2016-01-02
Category Descritpiton Income
-------- ------------ ------
A ... 500
B ... 100
B ... 100
E ... 2500
B ... 10
A ... 10
A ... 5
(more days...)但我不能在每一天结束时计算出总数。是否有办法,达到报告中按类别分列的部分?
发布于 2016-01-15 08:20:29
在jasper中分组时,您将访问两个新乐队,groupHeader和groupFooter。
您需要在groupFooter中添加sum表。
普通设计(重新设计报告,以避免需要新的数据源,分组也在类别上)
2016-01-01
Category Description Income
-------- ------------ ------
A ... 1230
A ... 100
+--------------------------------------------------+
Total sum category A 1335
B ... 1000
..........................................
Total sum all 6000如果这不是一个选项,您将需要一个新的数据源作为您的和表。
解决方案1 (重新查询):
在subreport或jr:table中添加groupFooter,并使用日期作为参数重新查询数据库(按类别和和值分组)
解决方案2 (创建jasper,JRDefaultScriptlet)
创建一个扩展JRDefaultScriptlet类的java类,该类在填充报表时存储和求和您的值。在解决方案1中,调用scriptlet可以获得一个JRBeanCollectionDataSource,它可以用作数据源来填充sum表。
https://stackoverflow.com/questions/34799068
复制相似问题