SAS中的宏(循环)功能

时间:2015-09-05 00:14:46

标签: macros sas proc

我正在SAS中进行一些非常简单的分析,找到均值,标准差和中位数,代码就像

proc means data=data001
mean median;
VAR= price volume; 
output out=new001;
mean=avprice avvolume
median=medprice medvolume; run;

但问题是我有超过100个数据集(data001到data299)。

我只想使用Macro一次处理所有数据集(从001到299)并将结果输出到一个表中?有没有办法做到这一点?

谢谢,祝周末愉快!

1 个答案:

答案 0 :(得分:2)

将它们全部附加到一个表中,并使用CLASS或BY变量进行区分。

Data combined;
Set data001-data099 indsname=source;
Data_source=source;
Run;

Proc sort data=combined; by data_source; 

proc means data=combined noprint;
By data_source;
VAR= price volume; 
output out=new001;
mean=avprice avvolume
median=medprice medvolume; run;