2015-09-18 82 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()! 这是工作! **谢谢** –