如何在一个程序中使用来自不同月份的数据运行相同的SAS程序,而不是每个月单独执行?

时间:2013-10-31 21:51:40

标签: sas

我需要使用不同月份的数据重新运行相同的程序,并为每个月创建一个单独的Excel电子表格。在SAS中对此进行编程的简单方法是什么?而不是单独运行每个程序?例如,在下面我从10月份读取数据,并在同一程序结束时将10月结果输出到excel。我需要每个月做同样的事情。我可以在一个SAS程序中执行此操作(可能使用Macro)吗?感谢。

data sourceh.trades2;
set sourceh.trades1_october08_wk1;
if time<34200000 or time>57602000 then delete;
run;

proc export data=sourceh.avesymbol        
outfile='C:\Documents and Settings\zd\My Documents\h\hdata\trades\2008\October 08 1 min       correlations.xls'           
replace; 
run;

1 个答案:

答案 0 :(得分:2)

我会使用一个宏。在这里,我将您的代码包装到一个宏中,您可以使用每个所需月份和年份的RunProgram();宏语句执行该宏。

%MACRO RunProgram(month, year);
data sourceh.trades2;
set sourceh.trades1_&month.&year._wk1;
if time<34200000 or time>57602000 then delete;
run;

proc export data=sourceh.avesymbol        
outfile="C:\Documents and Settings\zd\My Documents\h\hdata\trades\2008\&month. &year. 1 min correlations.xls"         
replace; 
run;
%MEND RunProgram;


%RunProgram(October, 08);
%RunProgram(November, 08);