我想存储第一条记录的列值并将该值与其余记录进行比较

I want to store a column value of the first record and compare that value with the rest of the records

比如我有以下数据

col1|col2|col3|col4

aa|123|456|50

bb|101|222|50

cc|102|232|70

dd|103|142|70

ee|104|472|50

这里我想获取第一条记录的 col4 值,并将其与其余记录的 col4 进行比较,如果不匹配,我想在另一个端口捕获它。我想使用 Informatica 来完成,而不是使用 Shell.

期望的输出

col1|col2|col3|col4|col5

aa|123|456|50|Matching

bb|101|222|50|Matching

cc|102|232|70|Not matching

dd|103|142|70|Not matching

ee|104|472|50|Matching

请帮助我使用 Informatica 实现此目的而不是使用 Shell。

好的,给你。创建一个表达式并在:

  1. 创建一个变量端口,它只会随着每一行的增加而增加,例如v_counter = v_counter + 1。把它放在端口列表的最后一个。
  2. 创建一个变量端口来保存您的参考值,例如v_ref_value = IIF(v_counter = 1, col4, v_ref_value)。确保 v_counter 仍然是列表中的最后一个端口。
  3. 添加col5输出端口定义为IIF(col4=v_ref_value, 'Matching', 'Not matching')