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】ATTRIBによる形式変換とPUTによる形式変換の違いを解説

今回は、ATTRIBによる形式変換とPUTによる形式変換の違いを解説します。 結論:ATTRIBは入力項目が数値型、文字列型どちらにも対応できるが、    PUTは入力項目が数値型の時しか使えない。 …

【SAS】SUMMARYは集計に便利

今回はSUMMARYについて解説します。 /*正常形*/ data data1; 契約番号=”AAAAAA”; 会社コード=”02″; 請求金額=4999; output; 契約番号=”AAAAAA” …

【SAS】CALL SYMPUTは関数を用いてマクロ変数の代入ができる。

今回はCALL SYMPUTについて解説します。 /*その1*/ data data1; kyo = today(); run; today()は本日の日付をSAS日付で取得する。 /*その2*/ d …

【SAS】INTNX関数は指定期間の条件を満たす日付けを返す。その2

今回はINTNX関数について追加で解説します。 過去記事では INTNX関数 の使い方(引数3つ)について解説しました。⇒【SAS】INTNX関数は指定期間の条件を満たす日付けを返す。 | ビジネスイ …

【SAS】TRANSPOSEは縦持ち、横持ちを変換できる。その1

今回はTRANSPOSEについて解説します。 /* num char char */ data data1; NO=1111; CHAR=”A”; MOJI=”AAAA”; output; NO=22 …