To powinno być proste pytanie na JasperReports. Próbuję wykonać prosty licznik w całym raporcie, który powinien być zwiększany na podstawie warunku. Jednak niezależnie od tego, co próbuję, wydaje się, że zmienna licznika jest zawsze inkrementowana, niezależnie od wyrażenia zmiennej. Właściwości mojego zmiennej rozdzielczości są poniżej:Zmienna licznika JasperReports zawsze rosnąca
Klasa: Integer
Obliczanie: Hrabia
Wyczyść Typ: Zgłoś
typ Przyrost : Brak
zróżnicowaną ekspresję: $F{on_target}.doubleValue() >= 0.0
Wartość początkowa: Integer.valueOf(0)
że w sumie 23 rzędów w zbiorze danych, a na podstawie kryteria, licznik powinien ostatecznie równać 18. Mam zmienną wydajność w Podsumowanie zespół, z Czas oceny do Teraz. Jednakże, niezależnie od czasu oceny, a nawet ustawienie zróżnicowaną ekspresję do Boolean.valueOf(true == false)
, wartość zmiennej zawsze kończy jako 23.
Co prosty drobiazg jestem zapominając?
Funkcja COUNT zlicza wszystkie wartości inne niż zerowe, zer i jedynek. Więc policzymy każdą wartość boolowską. Jest to podobne do działania funkcji SQL COUNT. Więc ma sens, że musisz zwrócić wartość NULL, aby nie liczyć wiersza. Innym sposobem, w jaki mógłbyś to zrobić, byłoby SUM wartości logiczne. W ten sposób nie musiałbyś zwracać wartości NULL dla fałszu. – Tom