1
以下は、インクリメント変数 "i"の値に基づいて一連のデータステップを実行するためのコードです。私はiの値を1(数値であって文字の値ではない)に割り当てているからです。理想的には、第1のデータステップブロックを実行する必要があるが、以下の場合、第2のデータステップブロックが実行されている。プログラムフローの制御
%put & i。 ;ログウィンドウに1を印刷します。
%macro DSN;
%let i = 1 ;
data new_DSN;
run;
%if i = 1 %then %do;
data Dummy ;
run;
data DUMMY_ ;
set DUMMY new_DSN ;
run;
%end;
%else %if i ^= 1 %then %do ;
data DUMMY_ ;
set DUMMY_ new_DSN ;
run;
%end;
%mend DSN;
%DSN;