2016-04-15 15 views
2

価格は$F{price}で表され、合計価格が$V{total_price}になるように各商品の価格を合計する変数を作成しました。両方ともjava.Math.BigDecimalです。総額に基づいて行のパーセンテージを計算するにはどうすればよいですか?

私は最初の項目の割合のために100を取得し、私がやったものの割合は、したがって、各項目の累積合計で計算され、合計text fieldためAUTOEvaluation Timeプロパティを変更することを示唆いくつかの記事を読んで、そうに。各商品のパーセンテージを評価する際に、一度に合計金額を取得するにはどうすればよいですか?

Example

答えて

2

はい、あなたが近くにあり、オート割合テキストフィールドで使用する必要があります。お使いの割合フィールドはちょうどあなたが$V{total_price}

$F{price}を分割 evaluationTime="auto"とTextFieldを追加取得するには価格の

<variable name="total_price" class="java.math.BigDecimal" calculation="Sum"> 
    <variableExpression><![CDATA[$F{price}]]></variableExpression> 
</variable> 

を総括する限り、私はあなたがこの変数を持って理解しているよう

自動 - テキストフィールド式に参加する各変数は、そのリセットタイプに対応する時間に評価されます。 フィールドが評価されました。この評価タイプは、異なる時間にと評価された値を組み合わせた式の場合に使用してください。合計の割合のようにです。

<textField evaluationTime="Auto" pattern="#,##0.00 %"> 
    <reportElement x="200" y="0" width="100" height="20" uuid="e88223c7-12b6-401d-80b7-6c8341773027"/> 
    <textElement textAlignment="Right" verticalAlignment="Middle"/> 
    <textFieldExpression><![CDATA[$F{price}.doubleValue()/$V{total_price}.doubleValue()]]></textFieldExpression> 
</textField> 
+0

'evaluationTime = "オート"' - 私は本当にこれは法的な "ハック" のような。 Mapでハックを使うのは夢中だった...)) –

関連する問題