runステートメントにcancelオプションをつけることでステップを実行させなくする話

多分、runステートメントについて、ヘルプを見ることってあまりないので、気づきにくいのですが、
runステートメントにはcancel オプションというものがあって

例えば以下のプログラムを実行すると

data Q1;
 X=1;
run cancel;

proc univariate data=Q1;
 var X;
run cancel;

















となって、要は構文チェックがかかって、実行直前までいくけど、実際実行はキャンセルされる。
みたいな働きをします。

runの後につけるので、データステップでもプロシジャステップでも使えます。

デバック用のオプションですが、このcancelの部分をマクロ変数にしておいて、実行するしないを切り替えみたいな使い方をしている人も見たことあります。

また、runステートメントを書かないsqlプロシジャの場合、どうするかという話ですが
(ちなみにproc sqlに無理やり、runを書くと「 PROC SQL ステートメントはすぐに実行されるため、 RUN ステートメントは必要ありません」という割とレアなNOTEがでます)

その場合はsqlプロシジャにはvalidateオプションがあるので、それを使います。
validateについてはSAS忘備録で、少し触れられています
http://sas-boubi.blogspot.jp/2014/04/sql_11.html


0 件のコメント:

コメントを投稿