が質問
SASの最後の観察に何かを行うには、1がエンド -flagを設定することができ、例えばは、SASデータセットをマージするとき(のみ)1つのファイルの終わりを検出する方法を
data myResult;
merge myInput1 (in=in1) myInput2 (in=in2) end=last;
by myKey;
** Do some stuff **;
if last then ** Do special stuff **;
run;
しかし、私の入力のうちの1つのみに反応するにはどうしたらいいですか? myInput1 (in=in1 end=end1)
は機能しません。私は2つの大規模なデータセットの内容を比較するため、999人の観察に限定したい
コンテキスト
。 myInput1
に真ん中に余分な観測値が含まれていると、私のプログラムはそれを報告しますが、句で除外されたmyInput2
の行もmyInput1
にあります。私は実際に書きたいと思います:
data diff_&memName.;
format problem $20.;
merge myInput1(in=in1 end=end1 obs=999)
myInput2(in=in2 end=end2 obs=999)
by moederartikelnr;
select;
when (end1 or end2) delete;
when (not inFrom) problem = "only in 1_PROD";
when (not inTo) problem = "only in 2_DVLP";
when (not first.moederartikelnr or not last.moederartikelnr)
problem = 'duplicate key';
otherwise delete;
end;
run;
あなたが別の方法で私を助けることができる場合は、あまりにもそうしてください。