SELECT-WHEN は変数の値によって処理を分岐するような場合に使います。
data DT1;
set SASHELP.CLASS; select (AGE); when (11) X=1; * ① ; when (12) X=2; * ② ; when (13) X=3; * ③ ; when (14,15) X=4; * ④ ; otherwise X=99; * ⑤ ; end; run; |
・AGEの値によって変数Xにいれる値を分岐しています。
・①~④の順に見ていって「AGEの値と一致する ”最初のWHENステートメント”」のみ実行される。
・AGEの値がどれにも一致しなかった場合⑤のOTHERWISEが実行される。
・①~④の順に見ていって「AGEの値と一致する ”最初のWHENステートメント”」のみ実行される。
・AGEの値がどれにも一致しなかった場合⑤のOTHERWISEが実行される。
※ AGEがどのWHENステートメントにも一致しない場合、OTHERWISEがないとエラーになる。
data DT1;
set SASHELP.CLASS; select; when (AGE=11 and WEIGHT>100) X=1; when (AGE=12 and WEIGHT>100) X=2; otherwise X=99; end; run; |
data DT1;
set SASHELP.CLASS; select; when (AGE=11) do; X1=1; X2=1; end; otherwise; end; run; |
・DO~ENDで囲めば、処理を複数書ける。
・「OTHERWISE ;」のように処理文を省略すると「OTHERWISEの場合、なにも処理しないで」という指定になる。
0 件のコメント:
コメントを投稿