変数属性だけ定義した0オブザベーションのデータセットを作る方法をまとめてみます。
①STOP
data DT1;
set SASHELP.CLASS; stop; run; |
STOPステートメントでオブザベーションが出来る前に処理を停止させてしまう。
data DT2;
set SASHELP.CLASS (obs=0); run; |
OBS=オプションで読み込むオブザベーション数を指定できます。
③ IF 0
data DT3; if 0 then set SASHELP.CLASS; stop;
run; |
「if 0 then」 の 「0」 は 「false」 の意味になり、then以降の 「set SASHELP.CLASS」 の部分は実行されません。
。。のはずですが、たとえ実行されなくてもデータセット名の指定があると、コンパイル時にそのデータセットの定義情報だけを読み込みにいきます。
①とほとんど同じ方法ですが、こちらの方が内部的に余計な処理が入らないのでスマートです。
④ SET _NULL_;
http://sas-boubi.blogspot.jp/2016/04/data-null.html
http://sas-tumesas.blogspot.jp/2013/10/1obs.html(データステップ100万回)
⑤ WHERE 0
この方法も見かけた事ないかも。
⑥ SQL
http://sas-tumesas.blogspot.jp/2013/10/blog-post.html(データステップ100万回)
④ SET _NULL_;
data DT4;
set SASHELP.CLASS; set _null_; run; |
http://sas-boubi.blogspot.jp/2016/04/data-null.html
http://sas-tumesas.blogspot.jp/2013/10/1obs.html(データステップ100万回)
新手かも。
⑤ WHERE 0
data DT5;
set SASHELP.CLASS; where 0; run; |
この方法も見かけた事ないかも。
⑥ SQL
proc sql;
create table DT6 like SASHELP.CLASS; quit; |
http://sas-tumesas.blogspot.jp/2013/10/blog-post.html(データステップ100万回)
0 件のコメント:
コメントを投稿