我创建了一个变量来为我的报告保留一个位置中所有机械零件 ID 的计数。这很好用,现在我想添加一个过滤器,其中仅当机械零件 ID 的数量 > 0 时才计算它们。
这是我必须开始的:
变量名称:PART_COUNT
变量类类型:Java.lang.Integer
计算类型:计数
重置类型:组
重置组:LOCATION_ID
增量类型:无
变量表达式:$F{MACHINERY_PART_ID}
我的报告中的一个字段设置如下:
文本字段表达式类:Java.lang.Integer
评估时间:组
评估组:LOCATION_ID
文本字段表达式:$V{PART_COUNT}
新条件是 count(machinery_part_id) group by location_id 数量 >0
$F{MACHINERY_PART_ID}
并且$F{QUANTITY_SENT}
都是java.lang.double
字段,我尝试在变量表达式中输入以下内容:
New Double($F{QUANTITY_SENT} > 0.00 ? $F{QUANTITY_SENT}.doubleValue() : 0d)
但它出错了:
Syntax error, insert ";" to complete BlockStatements
我正在使用 iReport 3.0.0
请帮忙,谢谢!