data scores;
input Name $ Test_1 Test_2 Test_3;
datalines;
Bill 187 97 103
Carlos 156 76 74
Monique 99 102 129
;
data m;
input m @@;
cards;
10 20 30 40 50 60 70 100 120 130
;
%macro tt();
%do i=1 %to 10;
data _null_;
set m;
if _n_=&i. then call symput("a&i.",m);
run;
%end;
proc format;
value score %do i=1 %to 9 ; %do j=2 %to 10; %if %eval(&j.-&i.)=1 %then &&a&i -< &&a&j = "&i." ; %end; %end; ; ;
quit;
data scores;
set scores;
test_3_rank=put(test_3,score.);
run;
%mend;
%tt();
... View more