0

同じ形式と列の 2 つのファイルがあり、それらをジョイナーに渡し、すべてのフィールドに結合キーを設定して比較しています。

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

jOINER では、結合キーを {ID},{DESC},{CODE},{COMMENT},{VALUE} として設定しています。例のファイルを使用すると、両方のレコードが未使用ポートに入ります。

ここでの私の質問は、どのフィールドが原因でレコードが拒否されたかを知ることができるかということです。のように、以下の出力を得ることが可能です

1    AFAF     34      XXX        34  Comment mismatch
2    XXX      45      DGDF       45  DESC mismatch 

使用したグラフ:

Input file---->Reformat-------
                           |----Joiner----Output
Input file 2---->Reformat-----        --Unused

強いテキスト

4

2 に答える 2

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);

こうすることで、キーが一致しないコメント付きのキーに一致するレコードを取得できます。

于 2015-11-03T09:41:45.657 に答える
0

違いがあるレコードまたはフィールドを特定したい場合は、動的比較レコードも使用できます。

于 2015-12-09T16:00:26.397 に答える