我正在尝试导出许多文件文件,其中导出的文件名反映了循环的迭代。使用以下代码我将导出的文件命名为“history_%i.dta”,而不是所需的“history_0.dta”,“history_1.dta”,“history_2.dta”等...
%macro exporthistory;
%do i = 0 %to 9;
proc export data = a.history&i outfile = "LOCATION/history_%i.dta";
run;
%end;
%mend exporthistory;
%exporthistory;
提前致谢!
答案 0 :(得分:2)
将history_%i.dta
更改为“history_& i..dta”。
%macro exporthistory;
%do i = 0 %to 9;
proc export data = a.history&i outfile = "LOCATION/history_&i..dta";
run;
%end;
%mend exporthistory;
%exporthistory;
&符号(“&”)是宏变量分隔符,正如您之前正确使用的那样。此外,您需要第二个句点,因为&i.
是宏变量,第二个句点是文件名的一部分。