0
我想加入两个文件基于一个关键,并根据条件在结果中添加一个新的列,但我无法弄清楚为什么我的条件在命令不起作用。请帮我理解正确的做法。Syncsort加入两个文件
A.TXT
3~Y
4~0
1~Y
2~N
b.txt
4~44~444
3~33~333
2~22~222
1~11~111
Syncsort的命令
/INFILE a.txt ALIAS DOC '~' 3000
/JOINKEYS BA1
/FIELD DOC_Rest1 2:1 - 2:
/INFILE b.txt ALIAS FINACT '~' 3000
/JOINKEYS BA2
/FIELD FINACT_DID 2:1 - 2:
/FIELD FINACT_PILOT 3:1 - 3:
/FIELDS BA1 1:1 - 1:, BA2 1:1 - 1:
/COND CHKINCCALS (DOC_Rest1 = 'Y')
/DERIVEDFIELD endofrecord '\n'
/DERIVEDFIELD TYPECAL
If CHKINCCALS then FINACT_DID
Else FINACT_PILOT
/OUTFILE c.txt OVERWRITE /REFORMAT LEFTSIDE:BA1,LEFTSIDE:DOC_Rest1, TYPECAL, endofrecord
/END
预期结果
1~Y~11~
2~N~222~
3~Y~33~
4~0~222~
实际结果
1~Y~Y~
2~N~~
3~Y~Y~
4~0~~
好的,谢谢。所以看起来LEFTSIDE指的是你的左半部分加入的记录,RIGHTSIDE指向右半部分,它允许你使用file1,file2中的数据创建你的字段定义。如果没有RIGHTSIDE,您将从file1再次获取数据,而不是从file2上的相同位置获取数据。你有手册吗? SyncSORT将提供副本作为您的许可证的一部分,所以没有理由不这样做。 –