PDI Kettle-数据查找和附加值

问题描述

我有2种输入类型的数据来自文件-

数据1 包含“属性”和“值”对。当前它具有4个带值的属性,但是根据输入的不同,可以包含更多的属性值对。该属性名称将与在数据2中找到的列/字段名称相同。

数据2 包含用户详细信息,其用户属性列名为UA1,UA2,UA3,UA4,UA5等

有没有一种方法可以通过PDI Kettle来获得期望的结果,如所附图片中所示,即将数据1的属性行与数据2的相同属性名称进行比较,并附加值以生成期望的输出

我在水壶中尝试了“合并加入”步骤,但似乎不起作用。

enter image description here

解决方法

在PDI中,没有内置步骤可以实现此目的。您需要从“用户定义的Java类”获得帮助。我已Here为您准备了解决方案。您可以从中获得帮助。

有3个文件,

  1. RunTrans.ktr-我在这里获取映射数据“ Data1”
  2. ForOnlyLoop.kjb-仅用于循环和设置变量目的。
  3. CompareAndResult.ktr-我在“ Data2”中获取详细数据并进行比较。
  4. 输出将在文本文件中找到。

我的解决方案基于Data1和Data2为您提供动态准确的结果。