【SAS】call execute

executeの使い方の備忘録。

やりたいこと:
動的に生成したコードを実行したい。

call execute(コード) でいける。

data _null_;
  call execute("data a; a=1; run;");
run;


マクロ変数を投入することもできる。

%let CODE1 = '
    proc sql;
        create table a (
        col1 char 20 label="Columns 1"
        ,col2 num 8 label="Columns 2" format=8.1
        );
    quit;
';
data _null_;
  call execute(&CODE1.);
run;


execute内でコードを組み立てることもできる。

%let CODE2 = '
             col1 char 20 label="Columns 1"
            ,col2 num 8 label="Columns 2" format=8.1
    ';
data _null_;
  call execute(cats('proc sql; create table a (', &CODE., '); quit;'));
run;
本ブログは個人メモです。 本ブログの内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。