2026年1月19日月曜日

データセットがキーとなる変数で重複が無いかを確認する

 キーとなる変数でデータセットが一意に定まるかを確認する時はproc sortを使っています。nouniquekeyオプションを使えば、重複してるレコードをだけをデータセットとして作れるので便利ですね。

仮にデータセットhogeが以下の様にあったとして、変数aの値が1obsと2obsで1で重複しています

後は以下の通り重複するobsをKEY_NO_UNIQUEデータセットに格納して、このデータセットにレコードがあればログにerrorを出す、とすれば重複があるかどうかはログを見るだけでokです。詳しい重複の内容はデータセットを見てください。

proc sort data = hoge out = KEY_NO_UNIQUE nouniquekey  ;

  by a  ;

run ;

data _null_ ;

    if 0 then set KEY_NO_UNIQUE nobs = _nobs ;

    if _nobs ^= 0 then putlog "E" "RROR NoUnique: Check KEY_NO_UNIQUE dataset" ;

    stop ;

run ;


0 件のコメント:

コメントを投稿