データセットオプション
 「データセットオプション」なるものがあって、
「KEEP」「DROP」「WHERE」「SORT」「IN」「RENAME」などがある。
 ぱっと見たところ、俺が他に使いそうなものは「WHEREUP」位だ。
 マニュアルを見ると分かるが、山ほどある。

 例えば、KEEPのデータセットオプションを使うと↓こういうことになる。

DATA ... ;
SET ... (KEEP=X1);

RUN;


 WHEREだと↓こうだ。

DATA ... ;
SET ... (WHERE=(変数1=条件1));

RUN;


 「KEEP」「DROP」など、書式が変わるだけであって、命令の概念が変わるわけではないので、
使い方さえ慣れれば、PGを簡潔にできるし、メモリも時間も食わずに済むはず。
 例えば、「FREQ」プロシジャで「〜OUT=DAT1(DROP=COUNT)」などできると思う。
 INのデータセットオプションは、マッチマージで多用することが多い。

DATA ... ;
MERGE (データセット1)(IN=X) (データセット2) ;
BY ... ;
IF X;

RUN;

 こうすると、できあがったデータセットには、データセット1のキーを含むオブザベーションしか残らなくなる。


 他には「PW」でパスワードを設定するか、「ALTER」でパスワードを自動入力するのと、
「GENNUM」「GENMAX」でデータセットの世代管理をする位かな。

 「FIRSTOBS」で、指定したオブザベーションから読み込むのと、
 「OBS」で指定したオブザベーション数しか読み込まない、という機能もあるようだが、
マッチマージを使う際に厄介なことになる。

 「COMPRESS」による圧縮機能もある。
 (
COMPRESS関数(改行コードの詰め方)の追記に圧縮機能について記載あり)

05APR2008 update.