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將提供副本作爲您的許可證的一部分,所以沒有理由不這樣做。 –