你可以使用这个表达式(计算:计数; 复位型:报告; 增量式:无):
<variable name="countBlue" class="java.lang.Integer" calculation="Count">
<variableExpression><![CDATA[$F{COLORCODE}.equals("B") ? "SomeNotNull" : null]]></variableExpression>
<initialValueExpression><![CDATA[Integer.valueOf(0)]]></initialValueExpression>
</variable>
或该(计算:没什么; 重置类型:举报; 增量型:无):
<variable name="countBlue" class="java.lang.Integer">
<variableExpression><![CDATA[$F{COLORCODE}.equals("B") ? $V{countBlue} + 1 : $V{countBlue}]]></variableExpression>
<initialValueExpression><![CDATA[0]]></initialValueExpression>
</variable>
你可以阅读有关的变量here。
的JasperReports Ultimate Guide说:
计算计数
计数变量包括在数据源中的每一次迭代计数评估所述可变的主要表达后返回的非空 值,其中 。计数变量必须始终为数字类型的 。但是,由于引擎不关心 表达式类型,所以它们可以具有非数字表达式,因为它们的主要表达式是 ,但只计算返回的非空值 ,而不管它们的类型是。
只有变量的初始值表达式 应该是数字型的并且与变量的类型兼容,因为当初始化 时,此 值将直接分配给计数变量。