Questa dovrebbe essere una semplice domanda su JasperReports. Sto provando a fare un semplice contatore sull'intero rapporto che dovrebbe incrementare in base a una condizione. Comunque, qualunque cosa provi, sembra che la variabile contatore sia sempre incrementata, indipendentemente dall'espressione della variabile. proprietà della definizione del mio variabili sono al di sotto:Variabile contatore JasperReport sempre incrementata
Classe: Integer
Calcolo: Conte
reset Tipo: Rapporto
tipo Incremento : Nessuno
espressione variabile: $F{on_target}.doubleValue() >= 0.0
Valore Iniziale: Integer.valueOf(0)
Ho un totale di 23 righe nel set di dati, e sulla base di i criteri, il contatore dovrebbe alla fine essere uguale a 18. Ho l'output variabile nel Riepilogo banda, con Tempo di valutazione a Ora. Tuttavia, indipendentemente dal tempo di valutazione, e anche l'impostazione del espressione variabile a Boolean.valueOf(true == false)
, il valore della variabile finisce sempre come 23.
cosa semplice piccola cosa sto dimenticando?
La funzione COUNT conta tutti i valori non Null, entrambi zero e uno. Quindi qualsiasi booleano sarebbe contato. Questo è simile a come funziona la funzione COUNT SQL. Quindi ha senso che devi restituire un valore NULL per non contare una riga. Un altro modo in cui avresti potuto farlo sarebbe SUM i valori booleani. In questo modo non avrai bisogno di restituire un NULL per un falso. – Tom