我有一个从查询数据中获取价值的公式
现在,如果查询数据为 0,我想跳过公式
例子:[value1]-[value2]/[value1]*100
如果 [value1] 为 0,则跳过公式。
我有一个从查询数据中获取价值的公式
现在,如果查询数据为 0,我想跳过公式
例子:[value1]-[value2]/[value1]*100
如果 [value1] 为 0,则跳过公式。
首先,Pentaho Report Designer 内置了公式编辑器,在构建这些公式时可以大大简化您的生活。不确定从哪个版本开始可用,但在 3.6.1 中是肯定的。
同样在 Pentaho Wiki 中,您可能会发现一个描述公式表达式的有用页面:http ://wiki.pentaho.com/display/Reporting/Formula+Expressions
至于您的特定问题,我认为这个公式应该有效:
=IF([value1] = 0; ""; [value1]-[value2]/[value1]*100)
每个公式都需要开始等号!
通过观察您的公式,[value1] 字段存在于分母中,该字段可能有机会获得零(0)。这是逻辑错误。如果你处理那个,你可以克服这个错误。
对于您的情况,此公式将起作用。
= ( [value1]-[value2]/ IF(OR(ISEMPTYDATA([value1]); [value1] = 0) ;1;[value1]) )*100