【问题标题】:Pentaho - How do I populate an entire column with one value from another?Pentaho - 如何用另一个值填充整个列?
【发布时间】:2018-12-28 11:36:03
【问题描述】:

我已经使用 Pentaho 有一段时间了,但我终生无法弄清楚如何解决这个问题。

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

[Source input]

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

[Desired output]

我尝试过使用 UDJE 步骤,但我不知道如何仅提取单个值。

谢谢

【问题讨论】:

  • 您只希望“汇率”列中的最高值正确吗?
  • 感谢您回复我。我想要与货币代码相关联的汇率 - 在本例中为 GBP。

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


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    我会建议以下解决方案之一:

    解决方案 1

    • 将您的流程一分为二,不要忘记包含稍后合并的键
    • 处理一个流程以获得您需要的计算,在本例中为 GBP_CCY_Rate。
    • 使用“查找字段”步骤将其放回主流程中

    解决方案 2

    • 一分为二

    在第二个流程中:

    • 根据您需要的设置过滤行(过滤行步骤)
    • 使用结果设置变量

    在主流中:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 2020-10-29
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多