我在合并proc iml
,if/then
和call symputx
方面存在问题。如果我运行以下代码:
proc iml;
call symputx("noif",3);
a=1;
b=&noif; /* 1) : works*/
if a=1 then call symputx("withif",1);
if a=1 then print a; /* 2) : works */
c=&withif; /* 3) : doesn't work */
quit;
%put &withif; /* 4) : works */
1)工作(以及SAS / IML文档)显示我可以在call symputx
proc IML
2)工作(以及SAS / IML文档)显示我可以在if/then
proc IML
3)因此,不能正常工作必须归因于这三个陈述的组合问题。
但是4)工作表明call symputx("withif",1)
在某种程度上被理解了。
在proc iml
内有条件定义宏变量的正确方法是什么?