我需要重复从int1到int10的下面的proc排序。什么是编码的有效方法?
Proc sort data=sourceh.average_metric_Jan2009_int1;
by time rank;
run;
Proc sort data=sourceh.average_metric_Jan2009_int2;
by time rank;
run;
答案 0 :(得分:2)
您可以在宏程序中使用%do
循环:
%macro multisort();
%do i = 1 %to 10;
proc sort data = sourceh.average_metric_jan2009_int&i;
by time rank;
run;
%end;
%mend;
%multisort()
答案 1 :(得分:1)
根据您对所有数据集进行排序后所执行的操作,将它们连接在一起可能会更容易,然后对它们进行排序。
data int1_to_10 ; set sourceh.average_metric_Jan2009_int1-sourceh.average_metric_Jan2009_int10 ; run ; proc sort data=int1_to_10 ; by time rank ; run ;