2017年2月16日木曜日

データセットオプションとは?



以下をご覧ください。

data DT1;
   set  SASHELP.CLASS (keep=NAME SEX AGE);
run;


データセット「SASHELP.CLASS」をSETする時に、変数「NAME SEX AGE」のみを保持しています。
このように ”データセット名 (オプション)” という形式で指定するオプションを、データセットオプションといいます。



特徴

・ データステップやプロシジャなどあらゆるところで、データセット名の横にこのオプションを指定できる。
・ オプションは指定された場所で作用する。


いくつか例を見てみましょう。

例1 ;
data DT1 (keep=NAME);
   set SASHELP.CLASS (keep=NAME SEX AGE);
run;

① SETする時に変数NAME、SEX、AGEだけKEEPさせてから、、
② 出力時に変数NAMEをKEEPしています。



例2 ;
proc means data=SASHELP.CLASS;
 var AGE;
 output out=DT2 (keep=_STAT_ AGE);
run;

① MEANSの結果をデータセットに出力する際、変数_STAT、AGEだけをKEEPしています。



よく使われるデータセットオプション(一部紹介)


KEEPだけでなく、色々なオプションがあります。
  内容  構文
 必要な変数だけ保持

 データセット名 ( KEEP=変数1  変数2 );
 不要な変数の削除

 データセット名 ( DROP=変数1  変数2 );

 変数名の変更

 データセット名 ( RENAME=(変数X=変数Y  変数Z=変数W) )
 抽出条件

 データセット名 ( WHERE=(抽出条件) )



data DT1;
   set SASHELP.CLASS (rename=(NAME=NAMAE) where=(AGE=13));
run;




注意

・オプションの実行順についての注意点。データステップ100万回にて分かり易く解説をされています。
データセットオプションの適応順の推測

・WHEREステートメントとWHERE=データセットオプションを併用する際の注意事項
・すべてのプロシジャでデータセットオプションに対応しているかは未検証です(というか、ほぼ検証不可。。)



その他役に立ちそうな関連記事

0 件のコメント:

コメントを投稿