スーパーエンジニア100年目!

エンジニアの働き方とか生き様とか。毎日を頑張って生きる。

【SAS】SASでループ。マクロ版と通常版の比較。

たまに書き方を混乱する人のために。

/*普通のループ*/
data test;
  do i = 1 to 10;
    put i;
  end;
run;
/*マクロのaaaの中でループをするときに、置き換えを行う。*/
%macro aaa(no = 10);
  %do i=1 %to &no.;
   %put &i.;
  %end;
  
%mend;
%aaa;

こんな書き方もあるよ。

%macro test1010(A3);
  proc print data=sashelp.&A3. ;
  run;
%mend;

/*指定のライブラリ名を引数として実行*/
%test1010(A3=aacomp);