我在Jaspersoft iReport Designer中有类似的报告,但是无法弄清楚如何将垂直列“Doctor Payment”中的所有值加起来得到总计“1601”?该列的长度是可变的(即,行的数量根据数据库的大小及其更新频率而变化) .
是否有像 $V{COLUMN_COUNT}
这样的变量(实际上没有行,这里是5),它给出了列中所有值的总和?如果没有,怎么办 sum ?
Doctor ID Doctor Payment
A1 123
B1 223
C2 234
D3 678
D1 343
Total 1601
2 回答
解决您的任务非常容易 . 您应该创建并使用新变量来汇总 "Doctor Payment" 列的值 .
在您的情况下,变量可以这样声明:
计算类型为 Sum ;
复位类型为 Report ;
变量表达式为 $F ,其中 $F 是包含sum(Doctor Payment)的字段的名称 .
工作实例 .
CSV数据源:
模板:
结果将是:
你可以在JasperReports Ultimate Guide找到很多信息 .
iReports列的自定义字段(总和,平均值等)
右键单击“变量”,然后单击“创建变量”
单击新变量
一个 . 请注意右侧的属性
相应地重命名变量
将值类名更改为正确的数据类型
一个 . 您可以通过单击3个点进行搜索
选择正确的计算类型
更改表达式
一个 . 单击小图标
湾选择要查找的列
C . 点击完成
将初始值表达式设置为0
将增量类型设置为none
将增量器工厂类名称留空
设置重置类型(通常是报告)
将新文本字段拖到舞台上(通常在最后一页页脚或列页脚中)
双击新文本字段
清除表达“文本字段”
选择新变量
点击完成
将新文本放在理想的位置