想使用macro 用來開一堆跟數字有關的檔名, 自己寫還是會遇到以下 tip 提到的 2個問題.
%macro openfiles; /* define macro name 以下 %起頭, 給個macro */
%do i=1111 %to 2222; /* 檔案的名字是從1111.csv 到2222.csv */
%let k= &i; /* 測試 */
%let dotcvs= ".csv"; /* 測試 */
/* tip1 :記得file name .cvs 要使用2 個 '.' */
/* tip2 :記得 "字串要使用雙引號" */
Proc import out=Work.MM&i /* 開成SAS file name 為MM 開頭的, ex MM1111, MM1112, ..... */
DATAFILE="D:/filedir/sub1/&&k..csv" DBMS=CSV REPLACE;
GETNAMES=YES;
DATAROW=2;
run;
data MM&i;
set MM&i;
fid=&i;
run;
%end; /* Do end */
%mend; /* macro end */
options mprint; /* 加這個參數才會打印, macro 更換後的程式內容 */
%mergefile /* 使用這個macro */
文章標籤
全站熱搜
留言列表