【发布时间】:2017-03-20 06:32:43
【问题描述】:
我的目的很简单。只想给数据集一些值。有2个步骤。首先,将值读入宏变量。其次,将宏变量传递给数据集。代码是:
首先,创建宏变量。
proc sql;
select procdate, prim,side,orgnname,orgnid,OrgnStTe into :procdate, :prim, :side, :orgnname, :orgnid, :OrgnStTe from ours
where objid=783125;
quit;
这一步效果很好。然后传递值。
data test;
set m1;
if id=184 then DO;
objid=783125;procdate=&procdate.;prim=&prim.;side=&side.;orgnname=&orgnname.;orgnid=&orgnid.;OrgnStTe=&OrgnStTe.;
END;
run;
对于这一步,错误是关于orgnname。不太确定错误。我试过 %bquote(&orgnname.) 和 %str(&orgnname.)。两者都不工作。
注意:由宏变量“ORGNNAME”生成的行。 1 加略·约翰·詹姆斯纪念医院 ---- 388 76 错误 388-185:需要算术运算符。
ERROR 76-322:语法错误,语句将被忽略。
【问题讨论】: