【发布时间】:2018-01-25 20:32:38
【问题描述】:
我通过 DDE (set1, set2, set3) 将三个数据集输出到 Excel。数据集具有相同的变量,除了 set3 有两个额外的变量。我已经将 DDE 部分包装在一个宏中,我为每个数据集调用该宏,并使用“put”写出我想要的变量。如果在set3 上调用宏,我试图弄清楚如何从set3 添加两个附加变量。到目前为止,这是我的代码:
filename out dde
'excel|sheet1!r2c2:r1000c5';
%macro write(set);
data _null_;
set &set.;
file out dlm='09'x;
put
var1
var2
var3
%if &set. = set3 %then var4 var5;
%else ;
run;
%mend write;
%write(set1);
%write(set2);
%write(set3);
如果我删除宏 %if-%then 语句,代码可以正常工作。任何想法如何去做?谢谢!
【问题讨论】:
-
虽然是宏程序,但是如果-then在数据步,使用%if-%then语句是错误的。