pentaho报告设计器libFormulaErrorValue

时间:2012-08-23 09:16:42

标签: pentaho

我有一个从查询数据中获取值的公式

现在,如果查询数据为0

,我想跳过公式

示例:[value1]-[value2]/[value1]*100

如果[value1]为0,则跳过公式。

2 个答案:

答案 0 :(得分:0)

首先,Pentaho Report Designer具有内置的公式编辑器,可以在构建这些公式时大大简化您的生活。不确定它可以使用哪个版本,但在3.6.1中肯定是这样。

同样在Pentaho Wiki中,您可能会找到一个描述公式表达式的有用页面:http://wiki.pentaho.com/display/Reporting/Formula+Expressions

至于你的具体问题,我认为这个公式应该有效:

= IF([value1] = 0;“”; [value1] - [value2] / [value1] * 100)

每个公式都需要开始等号!

答案 1 :(得分:0)

通过观察您的公式,分母中存在[value1]字段,该字段可能有零(0)。这是逻辑错误。 如果你处理那个,你可以克服这个错误。

对于你的情况,这个公式会起作用。

= ( [value1]-[value2]/ IF(OR(ISEMPTYDATA([value1]); [value1] = 0)  ;1;[value1]) )*100