2015年7月6日月曜日

COMPAREプロシジャでデータセット間に不一致があった事をログに表示するオプション




COMPAREプロシジャの基本については以下をご覧ください。
【PROC COMPARE入門】データセット間の変数値の比較



さて、以下のような2つのデータセットがあったとします。

data DT1;
   length A $2.;
   A="aa";
run;

 A  
 aa 

data DT2;
   length A B $3.;
   A="aaa"; B="bbb"; output;
   A="ccc"; B="ddd"; output;
run;

 A  
 B  
 aaa 
 bbb 
 ccc 
 ddd 



この2つのデータセットをCOMPAREプロシジャで比較してみます。

proc compare base=DT1 compare=DT2 ;
run;

出力結果(一部)




この出力結果は見るところが多いので、たまに不一致箇所を見落としてしまう事があります。
そこで、WARNINGオプションをつけると、不一致があった旨のWARNINGメッセージをログに表示してくれます。

proc compare base=DT1 compare=DT2  warning ;
run;

ログ
WARNING: データセット WORK.DT2 にある 1 変数が WORK.DT1 にはありません。
WARNING: 1 変数の属性が 2 つのデータセットで一致しません。
WARNING: データセット WORK.DT2 にある 1 オブザベーションが WORK.DT1 にはありません。
WARNING: 次の 1 変数の値は不等です : A
WARNING: データセット WORK.DT1 と WORK.DT2 には不等な値があります。


WARN と略してもいけます。
また、ERROR と書けばERRORメッセージになります。


これで、不一致の見落としを軽減できそうです。


0 件のコメント:

コメントを投稿