1

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

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;
4

1 回答 1

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);
于 2013-10-31T21:58:24.213 回答