2015-09-18 103 views
0

有必要總結字段$ F {energy}的條件$ F {type_energy}就像「Active Energy」一樣。總結條件jasper studio

我嘗試與此(定義變量和),並在變量表達式的條件:

  1. $F{type_energy} == ("Active Energy")? $F{energy}: new Double(0)
  2. Boolean.valueOf($F{vrsta_energije}=="Active energy")?$F{iznos_naknade_km}.doubleValue():new Double(0)
  3. new Double($F{vrsta_energije}!= null && $F{vrsta_energije}.equals("Active energy")?$F{kolicina_vrsna_snaga}.doubleValue():0)
  4. IF($F{type_energy} == ("Active Energy"), $F{energy}, null)

    其中FILD的類型是:

    $ F {} type_energy java.lang.String中
    和$ F {}能源java.math.BigDecimal的

保持獲得高分0.0

回答

1

改變表達式中$ F {energy}的數據類型以加倍。 定義一個變量和($ V {Sum})。 保持計算功能爲無。 初始值表達式爲0.0。 在變量表達式中有 (「Active Energy」)。equalEgnoreCase($ F {type_energy})? $ V {Sum} + $ F {energy}:$ V {Sum}

+0

謝謝! 但仍然有同樣的問題,我沒有找到解決方案。仍然沒有得到一筆款項。 我改變了fild和條件: * $ F {type_energy} .contentEquals(「Active Energy」)? $ V {Sum} .doubleValue()+ $ F {energy} .doubleValue()):$ V {Sum} .doubleValue()*,否則會得到錯誤 我試試這個: ** 1。 $ F {type_energy} ==(「Active Energy」)? $ V {Sum} .doubleValue()+ $ F {energy} .doubleValue()):$ V {Sum} .doubleValue()** ** 2.IF($ F {type_energy} == 「),$ F {energy} .doubleValue()),null)** 和steel得到0.0 –

+0

您好請再次嘗試我之前給出的解決方案,但請嘗試使用」equalIgnoreCase「。這對我來說可以。 – dShetty

+0

看來,問題是在識別字符串,以確定字間距 因此,我使用函數:** contentEquals()**。有條件的是: $ F {type_energy} .contentEquals(「Active Energy」)? $ V {Sum} .doubleValue()+ $ F {energy} .doubleValue():$ V {Sum} .doubleValue()! 這是工作! **謝謝** –