如何使用循环索引导出文件名

时间:2014-04-04 17:19:54

标签: indexing sas filenames

我正在尝试导出许多文件文件,其中导出的文件名反映了循环的迭代。使用以下代码我将导出的文件命名为“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;

提前致谢!

1 个答案:

答案 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.是宏变量,第二个句点是文件名的一部分。