ELSE ELSE IF IF SAS

【SAS】IFステートメントは処理を分岐できる。その2~ELSE IF、ELSE~

投稿日:

前回はIF文のオーソドックスな構文を解説しましたが、今回はELSE IFとELSEを使った構文についても解説していきます。

(参考:【SAS】IFステートメントは処理を分岐できる。その1 | ビジネスイッチ (how-to-business.com)


/* else if_1 */
data data1;
 id1="1111"; id2="1111"; id3="1111";
   output;
run;

data data2; set data1;
  if id1 = "1111" then id4 = "1111";
  else if id1 = "2222" then id4 = "2222";
  else id4 = "3333";
run;
  • 最初のifステートメントがTRUEであるため、id4 = “1111”となる。

/* else if_2 */
data data1;
 id1="2222"; id2="2222"; id3="2222";
   output;
run;

data data2; set data1;
  if id1 = "1111" then id4 = "1111";
  else if id1 = "2222" then id4 = "2222";
  else id4 = "3333";
run;
  • 第二のelse ifステートメントがTRUEであるため、id4 = “2222”となる。

/* else if_3 */
data data1;
 id1="3333"; id2="3333"; id3="3333";
   output;
run;

data data2; set data1;
  if id1 = "1111" then id4 = "1111";
  else if id1 = "2222" then id4 = "2222";
  else id4 = "3333";
run;
  • 第三のelseステートメントを通るため、id4 = “3333”となる。

-ELSE, ELSE IF, IF, SAS

執筆者:


comment

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

関連記事

【SAS】WHEREステートメントはPRINTプロシージャ内で使用ができる。【IFステートメントは使えない】【SAS Base Programming対策6】

/* where */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2222; Id3=2222; output; …

【SAS】LIBNAMEステートメントはExcelファイルをライブラリとして割り当てることができる。【SAS Base Programming対策5】

今回はLIBNAMEステートメントを用いてExcelファイルをライブラリ参照する方法について触れていきます。 SAS Base Programmingの試験を2回受験しましたが、2回ともExcelファ …

【SAS】UPCASE関数は文字列を大文字化する。

今回はUPCASE関数について解説します。 /* upcase */ data data1; Id1=1111; char1=”US”; char2=”aaa”; output; Id1=2222; …

【SAS】ROUNDは四捨五入して数値を丸める

今回はROUNDについて解説します。 /* 正常形 */ data work.data1; _100 = round(1234.56789, 100); _10 = round(1234.56789, …

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

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