2015-09-05 3 views
0

Я делаю некоторые очень простой анализ в SAS, находя среднее, стандартное отклонение и медианы, и код, какМакро (цикл) функции в 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 означает', поскольку это позволило бы избежать сортировки. – user667489

Смежные вопросы