Условие выражения переменных Jasper iReport для символа - PullRequest
0 голосов
/ 17 января 2012

У меня есть столбец в моей базе данных, который является столбцом ColorCode (имя поля $ F {COLORCODE}), который имеет значения, такие как 'B' и 'R' и 'G', я хочу подсчитать их количество соответственнок их цвету.

Итак, у меня есть переменные countBlue, выражение переменных равно $ F {COLORCODE} == 'B' и помещаем его в нижний колонтитул столбца, но отчет подсчитал все, включая R и G в этомстолбец, я сделал оператор сравнения неправильно?

также я установил для моего класса переменных countBlue значение java.lang.Integer, вычисление в виде Count и сброс в качестве отчета

p / s извинитедля плохого английского

1 Ответ

2 голосов
/ 17 января 2012

Вы можете использовать это выражение ( Расчет : Счет ; Тип сброса : Отчет ; Тип приращения : Нет ):

<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>

Вы можете прочитать о переменных здесь .

JasperReports Ultimate Guide гласит:

Расчет количества Переменная count включает в число ненулевые значения, возвращаемые после вычисления основного выражения переменной, с каждой итерацией в источнике данных.Переменные count всегда должны быть числового типа.Однако они могут иметь нечисловые выражения в качестве основного выражения, поскольку движок не заботится о типе выражения, , но учитывает только возвращаемые ненулевые значения, независимо от их типа .Только выражение начального значения переменной должно быть числовым и совместимым с типом переменной, поскольку это значение будет непосредственно присвоено переменной count при инициализации.

...