2016年3月17日木曜日

IF-THEN-ELSE入門 【条件分岐処理】


IF-THEN-ELSEステートメントは条件によって処理を分岐する場合に使います。




構文1

IF  条件式  THEN  処理 ;

  • 「条件式」を満たす場合に、指定した「処理」を実行する。




data DT1;
   set SASHELP.CLASS;
   if AGE=11 then X=1;
run;
  • 「AGE=11」 だったら、「変数X=1」 にする。





構文2

IF  条件式1  THEN  処理1 ;
ELSE  IF  条件式2  THEN  処理2;
ELSE  処理3;

  • 「条件式1」を満たす場合に、「処理1」を実行。
  • 「条件式1」以外で「条件式2」を満たす場合に、「処理2」を実行。
  • 「条件式1」と「条件式2」以外だったら、「処理3」を実行。




data DT2;
   set SASHELP.CLASS;
   if AGE=11 then X=1;
   else if AGE=12 then X=2;
   else if AGE=13 then X=3;
   else X=99;
run;




構文3

IF  条件式  THEN  DO;
      処理1 ;
      処理2 ;
      ~
END;
ELSE  IF  条件式  THEN  DO;
      処理1 ;
      処理2 ;
      ~
END;
ELSE  DO;
      処理1;
      処理2;
END;

  • DO~ENDで囲って処理を複数指定できます。




data DT2;
   set SASHELP.CLASS;
   if AGE=11 then do;
          X=1;
          Y=1;
   end;
   else do;
          X=99;
          Y=99;
   end;
run;

  • 「AGE=11」 だったら、「変数X=1」「変数Y=1」 にする。
  • それ以外だったら「変数X=99」「変数Y=99」にする。




0 件のコメント:

コメントを投稿