2015-09-05 160 views
0

我做在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)並將結果輸出到一個表中?有沒有辦法做到這一點?

謝謝你,祝你週末愉快!

回答

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; 
+1

創建一個視圖來組合表可能會更快,然後使用'by data_source notsorted;'作爲'proc means',因爲這樣可以避免排序。 – user667489