前回は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”となる。