0

レポートの場所にあるすべての 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 を使用しています

助けてください、ありがとう!

4

2 に答える 2

1

私はそれを考え出した:

変数

変数名: PART_COUNT

変数クラスの型: Java.lang.Double

計算タイプ: 合計

リセットの種類: グループ

グループのリセット: LOCATION_ID

増分タイプ: なし

変数式:new Double($F{QUANTITY_SENT}.doubleValue() > 0.00 ? 1.0:0.0)

テキストフィールド

テキスト フィールド式クラス: Java.lang.Double

評価時間: グループ

評価グループ: LOCATION_ID

テキスト フィールド式: $V{PART_COUNT}

質問 整数を返すようにこの式を切り替えるにはどうすればよいですか??

私を正しい方向に向けてくれてありがとう。

于 2013-03-05T16:13:06.237 に答える
1

私はそれを考え出した:

テキストフィールド

テキスト フィールド式クラス: Java.lang.Integer

評価時間: レポート

テキスト フィールド式:new Integer($V{PART_COUNT}.intValue())

ここで答えが見つかりました: http://community.jaspersoft.com/questions/525053/cannot-cast-int-integer

于 2013-03-05T16:57:31.410 に答える