為什麼這篇sas macro迴圈鄉民發文收入到精華區:因為在sas macro迴圈這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者dofu1943 (那就念吧~~)看板Statistics標題[程式] sas迴圈一直寫錯時間M...
[軟體程式類別]:
SAS
[程式問題]:
資料處理
[軟體熟悉度]:
新手
[問題敘述]:
我有10年份的檔(a00,a01,a02......以此類推)
這10個檔都有相同欄位
我想把這10個檔中的F3這個欄位,不屬於空值的都刪掉
也就是
data a00_1;
set a00;
if f3~='' then delete;
run;
但要做10次
可能有版友會問
為什麼不把10個檔先SET在一起,之後在一併刪除
因為檔案很大,SET在一起要花很多時間
所以我傾向先把不要的資料去除後再SET
我參考網路上寫迴圈的範例
https://bit.ly/2LgS4M8
以及
http://biostat.tmu.edu.tw/oldFile/enews/ep_download/20rb.pdf
寫了兩種迴圈,但都無法成功
[程式範例]:
[第1種]
%macro test_del;
%do i=0 %to 9;
data a0&i_1;
set a0&i;
if f3~='' then delete;
RUN;
%end;
%mend;
%test_del;
[第2種]
%macro multrep(startyear,stopyear);
%do yrvalue=&startyear %to &stopyear;
data a&yrvalue_1;
set a&yrvalue;
if f3~='' then delete;
RUN;
%end;
%mend multrep;
%multrep(00,09)
因為錯誤訊息很大一串
我覺得應該是我基本語法就有問題
所以錯誤訊息就先不貼
不知道錯在哪裡,懇請版友指點
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.77.66 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1609770234.A.DCF.html
感謝感謝
這個問題至少讓我困惑了5年吧
原來要加.
可是這個語法的邏輯是怎麼知道的
我GOOGLE網頁都沒找到
※ 編輯: dofu1943 (210.241.87.243 臺灣), 01/08/2021 17:24:18