作者welly7566 (Hello! Project)
看板Statistics
标题[程式] SAS资料输出
时间Wed Jul 15 17:18:13 2015
[软体程式类别]:
SAS
[程式问题]:
资料处理
[软体熟悉度]:
中(3个月到1年)
[问题叙述]:
我的资料大概是长这样(股票的)
代号 XXX YYY
9901 XXX YYY
1101 XXX YYY
2202 XXX YYY
3333 XXX YYY
4444 XXX YYY
5577 XXX YYY
........
想请问有没有方法,用DO回圈从1101读到9999 (其中会有些代号是空的,不存在)
跑到代号是1101的,就全都输出成1101的SAS资料档,
跑到空代号的时候就跳过,不要输出档案。
LIBNAME A 'C:\TEJ\01';
LIBNAME B 'C:\TEJ\02';
%MACRO test;
%DO s=1101 %TO 9999 ;
DATA B.b&s ;
SET SAS.aaa ;
IF stock ^= &s THEN DELETE ;
RUN;
%END;
%MEND;
%test
我现在是用类似上面这样,读1101时,会汇出一个SAS档到B资料夹里面
可是读到空的股票代号时,也会产生出空的SAS档
请问想要避免空档的产生应该要怎麽办呢?
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.226.131.29
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1436951896.A.C79.html
1F:→ MOONY135: 一开始不要把空的代号抓进去要开始切割的档案不就好了. 07/15 21:28
2F:→ welly7566: 您是说%DO s=1101 %TO 9999这边吗? 07/16 00:47
3F:推 tew: 爬文吧 有人问过 07/16 07:49
4F:→ luenchang: aaa档有多大? 你的code把它读了近8000次。但目的是切档 07/17 23:49
5F:→ luenchang: 可参考这篇文章,才两页而已,先照做试式看能不能解决 07/17 23:57