【发布时间】:2019-10-22 20:10:01
【问题描述】:
我有一个示例数据集,我正在尝试使用 do 循环从每个观察(记录)创建一个新数据集。
这是示例代码:
data tst;
input a b;
datalines;
1 2
2 3
;
run;
data ds1 ds2;
set tst
/*point = point nobs = Nobs*/
;
do i=1 to 2;
call symput("i",i);
%put &=i;
if _n_ then output ds&i.;
end;
run;
我很困惑为什么 &i. 没有正确解析。看起来在日志中前面有很多空间。我尝试在ds&i. 上使用压缩功能,但它不起作用。我知道我可以使用宏并在不调用 symput() 的情况下执行此操作,但我想知道这是什么问题?
理想输出:
DS1:a b
1 2
DS2:a b
2 3
【问题讨论】:
-
blogs.sas.com/content/sasdummy/2015/01/26/… 或查看这篇文章以及另外两个解决方法的链接:communities.sas.com/t5/SAS-Programming/…