【问题标题】:How can I replace the value of a field(s) based on another field(s) in Pentaho如何根据 Pentaho 中的另一个字段替换字段的值
【发布时间】:2018-12-06 14:30:58
【问题描述】:

我需要用另一个字段(同一数据库)的值替换我从数据库中获取的一些值,前提是填充了另一个字段。

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

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

如果填充了 IRY,我需要替换 RMY 中的值。

如果 IRM / IRY 未填充,则 RMM / RMY 保持原样。

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

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

这是我目前的解决方案:

transformation

filter

任何帮助将不胜感激。

【问题讨论】:

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


    【解决方案1】:

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

    这样您就可以分别处理两列,测试空值并在需要时替换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      相关资源
      最近更新 更多