宏代码一直提示错误,如下:error:宏SQL仍在执行,无法重新定义,将编译哑宏:
具体代码如下:
proc sort data=jpj1.dm; by siteid subjid; run;
options nodate nonumber;
%macro kds(km,b1,new,condit);
data &km.(keep=siteid subjid &b1.);
set &new.;
if &condit. then output;
run;
%mend kds;
%kds(a144,DMDH1C DMDODOS,jpj1.dm,(DMDH1C='1' and DMDODOS^=''))
%macro sql (an,bn,yj,ms);
data &an.;
set &an.;
xiangmu="逻辑问题";
wenti="饮酒史勾选&yj.,但&ms.不为空,请核查。";
huida='';
run;
proc sql;
create table &bn. as
select siteid,subjid,xiangmu,wenti,huida from &an.
quit;
%mend sql;
%sql(a144,b144,饮酒,描述)
无论在定义和启动宏SQL它括号里的参数bn同时在第2位,还是同时在第4位,这段代码均一直报错,错误如上的描述,望论坛大神不吝赐教啊,是在是想不通。