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
?