0
我需要重複從int1到int10的下面的過程。什麼是對此進行編碼的有效方式?如何使用SAS中的循環簡化以下語句?
Proc sort data=sourceh.average_metric_Jan2009_int1;
by time rank;
run;
Proc sort data=sourceh.average_metric_Jan2009_int2;
by time rank;
run;
我需要重複從int1到int10的下面的過程。什麼是對此進行編碼的有效方式?如何使用SAS中的循環簡化以下語句?
Proc sort data=sourceh.average_metric_Jan2009_int1;
by time rank;
run;
Proc sort data=sourceh.average_metric_Jan2009_int2;
by time rank;
run;
您可以使用%do
循環宏程序中:
%macro multisort();
%do i = 1 %to 10;
proc sort data = sourceh.average_metric_jan2009_int&i;
by time rank;
run;
%end;
%mend;
%multisort()
取決於你在做什麼你已經整理所有數據集中後,可能更容易將它們串聯一起,然後對它們進行排序。
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 ;
在循環中使用宏變量。 %%i = 1%到%10; 按時間排序的Proc排序數據= sourceh.average_metric_Jan2009_int &i.; ; 跑; 結束; – abhiieor