pentaho报表设计器libFormulaErrorValue

pentaho报表设计器libFormulaErrorValue,pentaho,Pentaho,我有一个从查询数据中获取值的公式 现在,如果查询数据为0,我想跳过这个公式 示例:[value1]-[value2]/[value1]*100 如果[value1]为0,则跳过公式。首先,Pentaho报表设计器内置了公式编辑器,它可以在构建这些公式时大大简化您的生活。不确定从哪个版本开始,但在3.6.1中是肯定的 此外,在Pentaho Wiki中,您还可以找到描述公式表达式的有用页面: 关于你的问题,我认为这个公式应该有效: =如果([value1]=0;“”;[value1]-[value

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

现在,如果查询数据为0,我想跳过这个公式

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


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

首先,Pentaho报表设计器内置了公式编辑器,它可以在构建这些公式时大大简化您的生活。不确定从哪个版本开始,但在3.6.1中是肯定的

此外,在Pentaho Wiki中,您还可以找到描述公式表达式的有用页面:

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

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


每个公式中都要求起始等号

通过观察您的公式,[value1]字段位于分母中,该字段可能有机会得到零(0)。这是逻辑错误。 如果你处理了这个问题,你就能克服这个错误

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

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

我已经根据Suribubu关于除法的注释将公式更新为零。