作者zxcccc (zxcccc)
看板Statistics
标题[程式] SAS set连续档名资料集
时间Wed Oct 27 10:38:49 2021
[软体程式类别]:
SAS
[程式问题]:
资料处理
[软体熟悉度]:
新手
[问题叙述]:
我设立一个巨集
其中&amount是1~13连续的
%do j = 1 %to &amount;
data slope1_5;
set slope&j;
run;
%end;
但是其中有两个资料集不存在
於是点开 slope1_5 就会跳出 data set has 0 observations.
如果我改用
%do j = 1 %to &amount;
%if %sysfunc (exist(slope&j)) %then %do;
data slope1_5;
set slope&j;
run;
%end;
%end;
那slope1_5只会出现最後一笔资料
proc print 出来
显示每一笔资料都会跑一次
应该是後面那笔资料覆盖了前一笔的资料
有没有什麽方法能够set 这种连续档名
但中间有不存在资料集的方法?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.250.75.217 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1635302331.A.90D.html
1F:推 AeiCheng: set 那行改成 10/27 11:29
2F:→ AeiCheng: set %do i = 1 %to &amount. ; slope&i. 10/27 11:29
3F:→ AeiCheng: %end;; 10/27 11:29
→ AeiCheng: 试试
感谢 不过测试了之後
log 出现error:data does not exist
slope1_5 一样 no observations 10/27 11:29
※ 编辑: zxcccc (60.250.75.217 台湾), 10/27/2021 11:59:58
4F:推 west1996: 照你的第二个写法,把"data slope1_5;set"这几个字搬到 10/27 13:26
5F:→ west1996: %do之前,把";run;"放到%end;之後,整个%do回圈跟%if判 10/27 13:26
6F:→ west1996: 断式只要包“slope&j"这七个字母就好 10/27 13:26
感谢 有成功了
※ 编辑: zxcccc (60.250.75.217 台湾), 10/27/2021 13:50:33