Pentaho-如何用另一个值填充整个列?

时间:2018-12-28 11:36:04

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

我已经使用Pentaho已有一段时间了,但是我一生都无法解决该问题。

我想创建一个新列,其中填充了另一列的一个值。 输入源是一个与下图类似的文件。

[Source input]

使用该输入;我想创建一个新列,该列仅包含另一列中的费率之一。

[Desired output]

我尝试使用UDJE步骤,但是我无法弄清楚如何仅提取单个值。

谢谢

2 个答案:

答案 0 :(得分:0)

据我了解,您有两个输入,并且需要从其中一个来源添加一列。

PDI处理数据流,看起来就像“在内存表中”。处理完每一步,都会生成数据流。

如果您有一个步骤需要其他来源的另外一列,那么我的朋友需要加入此列,因此可以在两个不同来源之间使用合并连接(需要排序的输入)步骤,或进行流查找(不需要排序的输入),因此,基于键,您可以从其他来源获取需要添加的列。

答案 1 :(得分:0)

我建议采用以下解决方法之一:

解决方案1 ​​

  • 将流程分为两部分,别忘了为以后的合并添加键
  • 处理一个流程以获取所需的计算,在这种情况下为GBP_CCY_Rate。
  • 使用“查找字段”步骤将其放回主流中

解决方案2

  • 将流程一分为二

第二个流程:

  • 根据所需设置过滤行(“过滤行”步骤)
  • 使用结果设置变量

在主流中:

  • 重新安排流程,以确保它可以等待直到设置了变量为止(也许将转换留给您的主要工作,然后在此处启动第二个转换)
  • 使用get variable步骤为您的值创建一个新字段