为什么Ods跟踪无法在SAS Macro中运行?

时间:2016-05-30 00:30:15

标签: macros sas

当我将下面的代码作为宏运行时,我无法创建数据集zcorr(使用ods输出)。我做错了什么?

当我运行相同的代码而不是宏(即分别于2014年11月和2014年12月)时,没有问题。

我想修复宏,因为我必须再运行代码几个月。任何帮助将不胜感激, 谢谢!

%MACRO RunProgram(month, year);
data sourceh.trades2;
set sourceh.trades_&month.&year.;
if time<34200000 or time>57600000 then delete;

proc sort data=sourceh.trades2;
by symbol day month year int1;
run;


proc corr data=sourceh.trades2; by symbol day; 
var zbuy zsell;
ods output pearsoncorr=sourceh.zcorr;
run;


%MEND ;

%RunProgram(Dec, 2014);
%RunProgram(Nov, 2014);

1 个答案:

答案 0 :(得分:1)

您的ODS OUTPUT声明应在proc之内或之前。 ODS TRACE语句不生成任何表/结果,因此您可以删除这些语句。

您还应该小心宏中的注释并使用'%* comment;'而不仅仅是一个星号。