如何基于Pentaho中的另一个字段替换字段的值

时间:2018-12-06 14:30:59

标签: pentaho pentaho-spoon pentaho-data-integration

如果填充了其他字段,我需要用另一个字段(同一数据库)的值替换从数据库中获得的某些值。

在我的数据库中,我具有以下字段(除其他字段外):RMM,RMY,IRM,IRY

如果填充了IRM,则需要替换RMM中的值。

如果已填充IRY,则需要替换RMY中的值。

如果未填充IRM / IRY,则RMM / RMY保持不变。

我创建了一个过滤器,用于检查IRM或IRY是否为空,如果不是,则执行设置字段值步骤,在其中设置各个值。 然后,我使用附加流步骤合并过滤器失败的路径。

但是,我当前解决方案的问题是我的过滤器中的条件导致某些值被替换为空-因为过滤器中的条件只需要一侧是是的。

这是我当前的解决方案:

transformation

filter

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以取消“过滤器”和该步骤,并使用一个简单的“公式”步骤,该步骤针对每一列,该步骤根据IRM和IRY的值更新RMM和RMY的值:

enter image description here

这样,您可以分别处理两列,测试null并在需要时进行替换。