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】PRINTプロシージャは入力データセットの中身を結果に表示する【obs=】

今回はPRINTプロシージャについて解説します。 /* print */ data data1; 番号=”AAAAAA”; コード=”02″; 金額=1999; output; 番号=”AAAAAA” …

【SAS】COMPRESS関数は文字列の空白を削除し、詰める。(COMPRESS関数 その1)

今回はCOMPRESS関数について解説します。 /* compress */ data data1; Id1=1111; Char1=”AA AA”; output; Id1=2222; Char1= …

【SAS】YYYY-MM表記にする方法【SUBSTR】【||】

今回はYYYYMMDD表記の年月日をYYYY-MM表記にしたいと思います。 結論:SUBSTRと||を使います。 (SUBSTR:【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。 | …

【SAS】PUTステートメントは再帰的に型変換ができない。

今回はPUTステートメントの再帰的な型変換について解説します。 (なお、通常のPUT型変換の使い方は以下の記事で解説しています。⇒【SAS】PUTは数値型を文字型に変換する | ビジネスイッチ (ho …

【SAS】LABELオプションは変数名ではなく、ラベル名を出力する。【PRINTプロシージャ】【SAS Base Programming対策2】

今回はLABELオプションについて解説します。 SAS Base Programmingの四択問題でも出されそうな感じです。 /* label */ data data1; attrib Id1 le …