Esto debería ser una pregunta simple en JasperReports. Estoy tratando de hacer un contador simple sobre todo el informe que debería incrementarse en función de una condición. Sin embargo, sea lo que sea que intente, parece que la variable de contador siempre se está incrementando, independientemente de la expresión de la variable. propiedades de definición de mi variables son a continuación:Variable de contador JasperReports siempre incrementando
Clase: Entero
Cálculo: Conde
tipo de reset: Informe
tipo Incremento : Ninguno
expresión variable: $F{on_target}.doubleValue() >= 0.0
Valor inicial: Integer.valueOf(0)
Tengo un total de 23 filas en el conjunto de datos, y basado en el criterio, el contador debería ser igual a 18. Tengo la salida variable en el Resumen banda, con Tiempo de evaluación a Ahora. Sin embargo, independientemente del tiempo de evaluación, e incluso establecer el expresión variable a Boolean.valueOf(true == false)
, el valor de la variable siempre termina como 23.
Qué cosa poco sencilla me estoy olvidando?
La función COUNT cuenta todos los valores no nulos, tanto ceros como unos. Entonces cualquier booleano sería contado. Esto es similar a cómo funciona la función CUENTA SQL. Por lo tanto, tiene sentido que deba devolver un NULL para no contar una fila. Otra forma en que podría haberlo hecho sería sumar los valores booleanos. De esa forma no necesitarías devolver un NULL para un falso. – Tom