今回は、データセットの有無により、処理を分岐させる方法について解説していきたいと思います。
/* %if_1 */
data data1;
id1 = 1111;
run;
%if %sysfunc(exist(data1)) %then %do;
data data2; set data1;
id2 = 2222;
run;
%end;
%else %do;
data data3;
id3 = 3333;
run;
%end;
![](https://how-to-business.com/wp-content/uploads/2023/03/IF_1_1.png)
![](https://how-to-business.com/wp-content/uploads/2023/03/IF_1_2.png)
- EXIST関数により、データセットDATA1の有無を判定している。
- 今回はDATA1が存在するため、DATA2が出力される。
/* %if_2 */
%if %sysfunc(exist(data1)) %then %do;
data data2; set data1;
id2 = 2222;
run;
%end;
%else %do;
data data3;
id3 = 3333;
run;
%end;
![](https://how-to-business.com/wp-content/uploads/2023/03/IF_2_1.png)
- EXIST関数により、データセットDATA1の有無を判定している。
- 今回はDATA1が存在しないため、DATA3が出力される。