作者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://www.ptt.cc/bbs/Statistics/M.1436951896.A.C79.html
→ MOONY135: 一開始不要把空的代號抓進去要開始切割的檔案不就好了. 07/15 21:28
→ welly7566: 您是說%DO s=1101 %TO 9999這邊嗎? 07/16 00:47
推 tew: 爬文吧 有人問過 07/16 07:49
→ luenchang: aaa檔有多大? 你的code把它讀了近8000次。但目的是切檔 07/17 23:49
→ luenchang: 可參考這篇文章,才兩頁而已,先照做試式看能不能解決 07/17 23:57