SASデータセットから数値キー項目と特定属性のみのデータを作成する

[OS]ALL
[リリース] 6.09e,6.12,8.1,8.2
[キーワード] _CHARACTER_, _NUMERIC_

[質問]

数値変数が主キーとなっているデータセットから、「キー+数値変数」のみのデータセット、「キー+文字変数」のみのデータセットの2つを分割・生成する方法を教えてください。

[回答]

全ての文字変数を意味する「_CHARACTER_」自動変数、あるいは全ての数値変数を意味する「_NUMERIC_」自動変数と共にKEEP= またはDROP=データセットオプションを使用することで、目的のデータセットを作成できます。

■ 数値属性のデータのみを残す場合

   /* 文字属性のデータをDROP */
     DATA work.outnum1(DROP= _CHARACTER_);
        SET work.orgdat;
     RUN;

   /* 数値属性のデータをKEEP */
     DATA work.outnum1(KEEP= _NUMERIC_);
        SET work.orgdat;
     RUN;

■ キーと文字属性のデータのみを残す場合
   /* KEYと文字属性のみKEEP */
     DATA work.outchar(KEEP=numkey1 _CHARACTER_);
       SET work.orgdat;
     RUN;