今回は、データセットの有無により、処理を分岐させる方法について解説していきたいと思います。
/* %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;


- 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;

- EXIST関数により、データセットDATA1の有無を判定している。
- 今回はDATA1が存在しないため、DATA3が出力される。