レポートの場所にあるすべての machine_part_id の数を保持する変数を作成しました。これで問題なく動作します。今度は、machines_part_id が数量 > 0 の場合にのみカウントされるフィルターを追加したいと思います。
これは私が始めなければならなかったものです:
変数名: PART_COUNT
変数クラスの型: Java.lang.Integer
計算タイプ: カウント
リセットの種類: グループ
グループのリセット: LOCATION_ID
増分タイプ: なし
変数式: $F{MACHINERY_PART_ID}
私のレポートのフィールドは次のように設定されました。
テキスト フィールド式クラス: Java.lang.Integer
評価時間: グループ
評価グループ: LOCATION_ID
テキスト フィールド式: $V{PART_COUNT}
新しい条件は count(machinery_part_id) group by location_id で数量が 0 より大きい
$F{MACHINERY_PART_ID}
と$F{QUANTITY_SENT}
両方のjava.lang.double
フィールドです。変数式に次のように入力してみました。
New Double($F{QUANTITY_SENT} > 0.00 ? $F{QUANTITY_SENT}.doubleValue() : 0d)
しかし、次のエラーが発生します。
Syntax error, insert ";" to complete BlockStatements
iReport 3.0.0 を使用しています
助けてください、ありがとう!