我们知道可以在SAS/IML中submit和endsubmit来调用过程步,但如果把这个过程置于宏中,就不能运行了,例如:%macro ss(m);
proc iml;
x=normal(j(&m,1,0));
create a from x [colname={x}];
append from x;
close a;
submit;
data b;
set a;
lx=lag(x);
proc print data=b;
run;
endsubmit;
%mend ss;
%ss(100);
quit;
会显示ERROR 180-322: Statement is not valid or it is used out of proper order.
但如果在宏中不使用参数,例如上述的宏变量m,直接赋值为100,即x=normal(j(100,1,0));则此时可以得到结果,虽然仍然显示上述报错内容。
请问高手,有什么解决办法吗?