【问题标题】:Jasper report data summaryJasper 报告数据汇总
【发布时间】:2014-04-24 21:33:46
【问题描述】:

我正在尝试创建一个报告来显示每行的列值的摘要。一个基本的类比是库存清单。假设我有大约 15 个位置,例如 2A、2B、2C、3A、3B、3C 等。每个位置都有各种项目,每个项目都有一组特定的通用描述,即等级 1-9、布尔 Y 或N,另一个布尔 Y 或 N。它看起来像这样:

2A   4       Y       N
2A   5       Y       Y
2A   5       N       Y
2A   6       N       N      
...
2B   4       N       Y  
2B   4       Y       Y      
...etc.

我想要生成的是每个属性的位置列表和汇总计数:

Location    1 2 3 4 5 6 7 8 9      Y  N        Y N      TOTAL
2A                1 2 1            2  2        2 2        4
2B                2                1  1        2          2
...
___________________________________________________________
Totals            3 2 1            3  3        4 2        6

查询返回字段:

location_cd String  
desc_cd Int 
y_n_1 String 
y_n_2 String

我已尝试按位置分组,但无法使摘要起作用。我试着把它放在一个表中,但这只会接受原始查询。我尝试为每个单元创建数据集,并为每个标准在每个单元中创建变量,但这也没有奏效。但也许我偏离了轨道,交叉表会更好地工作?我试过了,第一次弄得一团糟。也许是一堆子报表?

有人能指点我正确的方向吗?当我开始时似乎很容易,但现在我无处可去。我可以让报告打印出原始数据,但我只需要按位置细分的每一列的总数。

【问题讨论】:

  • 你在使用 RDBMS 吗?
  • Sybase ASE/15.7.0。我正在使用 Jasper Studio 5.5.1 创建我的报告。

标签: filter jasper-reports summary


【解决方案1】:

答案要求我按 location_cd 分组并创建变量来汇总 desc_cd 值的出现次数 (1-9)

$F{desc_cd}==1?1:0

等等。 2-9。重置类型是按组。 Y/N 列也一样。

$F{y_n_1}.equals("Y")?1:0   

我没有将它们放在详细信息行中,而是将文本字段放在组页脚中,将一些列标题放在列标题中,其余的放在页眉中。

我仍然需要找到一种方法来对我的一些小组进行分组,但这是另一个问题。

【讨论】: