データセットオプション
「データセットオプション」なるものがあって、
「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.