我的目的是提取数据集[tp_receipt1]中的观测数,将该值赋给宏变量“or”。编的程序如下:
data _null_;
o=open('tp_receipt1');
n=attrn(o,'nobs');
c=close(o);
call symputx('or',put(n,8.));
run;
这段程序直接在sas中可以运行,也能成功对宏变量“or”成功赋值。但把这段程序整体移入宏程序后(如下),就没办法成功赋值了,而且log里也没有任何报错。求大神帮忙解答啊……
%macro a;
%do i=2 %to 2;
data tp_receipt1;
set test_receipt1;
if n_f_y=&i.;
run;
data _null_;
o=open('tp_receipt1');
n=attrn(o,'nobs');
c=close(o);
call symputx('or',put(n,8.));
run;
%end;
%mend a;
%a;