ELSE DO END IF SAS THEN DO

【SAS】IFステートメントは処理を分岐できる。その4~THEN DO, ELSE DO~【END】

投稿日:

今回はIF文の分岐で、複数の命令を実行する方法について、解説していきます。

【併せて読みたい記事】


/* then do_1 */
data data1;
 id1="1111"; id2="1111"; id3="1111";
   output;
run;

data data2; set data1;
  if id1 = "1111" then do;
    id4 = "1111";
    id5 = "1111";
  end;
  else if id1 = "2222" then do;
    id4 = "2222";
    id5 = "2222";
  end;
  else do;
    id4 = "3333";
    id5 = "3333";
  end;
run;
  • then do~end, else do~endを使う事で、複数の命令文を実行できる。
  • 最初のifステートメントがTRUEであるため、id4 = “1111” id5=”1111″となる。

/* then do_2 */
data data1;
 id1="2222"; id2="2222"; id3="2222";
   output;
run;

data data2; set data1;
  if id1 = "1111" then do;
    id4 = "1111";
    id5 = "1111";
  end;
  else if id1 = "2222" then do;
    id4 = "2222";
    id5 = "2222";
  end;
  else do;
    id4 = "3333";
    id5 = "3333";
  end;
run;
  • then do~end, else do~endを使う事で、複数の命令文を実行できる。
  • 第2文のelse ifステートメントがTRUEであるため、id4 = “2222” id5=”2222″となる。

/* then do_3 */
data data1;
 id1="3333"; id2="3333"; id3="3333";
   output;
run;

data data2; set data1;
  if id1 = "1111" then do;
    id4 = "1111";
    id5 = "1111";
  end;
  else if id1 = "2222" then do;
    id4 = "2222";
    id5 = "2222";
  end;
  else do;
    id4 = "3333";
    id5 = "3333";
  end;
run;
  • then do~end, else do~endを使う事で、複数の命令文を実行できる。
  • 第3文のelse doステートメントがTRUEであるため、id4 = “3333” id5=”3333″となる。

/* end無し_1 */
data data1;
 id1="1111"; id2="1111"; id3="1111";
   output;
run;

data data2; set data1;
  if id1 = "1111" then do;
    id4 = "1111";
    id5 = "1111";
  else if id1 = "2222" then do;
    id4 = "2222";
    id5 = "2222";
  else do;
    id4 = "3333";
    id5 = "3333";
run;
  • then do~end, else do~endを使う事で、複数の命令文を実行できる。
  • DOブロックに対して、ENDで閉じてないとエラーとなる。

-ELSE DO, END, IF, SAS, THEN DO

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】SAS Studioのフィルター機能の使い方を解説 その2 ~数値型~

今回もSAS Studioのフィルター機能について解説します。(前回:【SAS】SAS Studioのフィルター機能の使い方を解説 その1 ~文字型~ | ビジネスイッチ (how-to-busine …

【SAS】ARRAYステートメントは配列を設定することができる。その2

今回はarrayステートメント(その2)について解説します。 以前、過去記事でarrayステートメントについて解説していました。⇒【SAS】ARRAYステートメントは配列を設定することができる。 | …

【SAS】SAS Studio上でカラムの順番を変える方法

今回はSAS Studio上でカラムの順番を変える操作について解説します。 ちなみにカラムの出力順をプログラムで制御する方法は過去の記事で解説しています。(参考:【SAS】FORMATはカラムの出力順 …

【SAS】PUTはSAS日付値をフォーマットを変換して表示する【DATE】【YYMMDD】【DATETIME】【TIME】【TOD】

今回もPUTについて解説します。  前回、PUTは数値型⇒文字型への変換ができると解説しました。(参考:【SAS】PUTは数値型を文字型に変換する | ビジネスイッチ (how-to-bus …

【SAS】計算で求められた変数に対するIFとWHEREの振舞いの違い【SAS Base Programming対策1】

/* where id3 */ data data1; id1=1111; id2=1111; id3=1111; output; id1=2222; id2=2222; id3=2222; outp …