我有两个相同格式和列的文件,我通过在一个木匠中传递它们并将连接键设置为所有字段来比较它们。
file a:
ID DESC CODE COMMENT VALUE
1 AFAF 34 GDG 34
2 DGF 45 DGDF 45
file b:
ID DESC CODE COMMENT VALUE
1 AFAF 34 XXX 34
2 XXX 45 DGDF 45
IN jOINER,我将加入密钥设置为{ID},{DESC},{CODE},{COMMENT},{VALUE} 使用示例文件,两个记录都将进入Unused port。
我的问题是,是否可以通过记录被拒绝的哪个字段来了解。 因为可以获得以下输出
1 AFAF 34 XXX 34 Comment mismatch
2 XXX 45 DGDF 45 DESC mismatch
使用的图表:
Input file---->Reformat-------
|----Joiner----Output
Input file 2---->Reformat----- --Unused
强文
答案 0 :(得分:0)
可能但您必须修理/决定您的密钥。好像您希望将id上的这些文件作为密钥匹配,或者如果您想拥有更多密钥则添加任何文件。通过将其作为您的连接键,然后编写您的转换函数。
out.comments::if((string_upcase(string_lrtrim(in0.DESC))) != (string_upcase(string_lrtrim(in1.DESC)))) "desc mismatch" else if(do the same on other columns);
通过这样做,您将能够获得与提供的密钥匹配的记录以及哪些密钥不匹配的评论。
答案 1 :(得分:0)
如果您想识别由于存在差异的记录或字段,那么您也可以使用动态比较记录。