我想存储第一条记录的列值并将该值与其余记录进行比较
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。
好的,给你。创建一个表达式并在:
- 创建一个变量端口,它只会随着每一行的增加而增加,例如
v_counter = v_counter + 1
。把它放在端口列表的最后一个。
- 创建一个变量端口来保存您的参考值,例如
v_ref_value = IIF(v_counter = 1, col4, v_ref_value)
。确保 v_counter
仍然是列表中的最后一个端口。
- 添加
col5
输出端口定义为IIF(col4=v_ref_value, 'Matching', 'Not matching')
比如我有以下数据
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。
好的,给你。创建一个表达式并在:
- 创建一个变量端口,它只会随着每一行的增加而增加,例如
v_counter = v_counter + 1
。把它放在端口列表的最后一个。 - 创建一个变量端口来保存您的参考值,例如
v_ref_value = IIF(v_counter = 1, col4, v_ref_value)
。确保v_counter
仍然是列表中的最后一个端口。 - 添加
col5
输出端口定义为IIF(col4=v_ref_value, 'Matching', 'Not matching')