32 Bit machine
data have;
input Score_A Score_B Score_C Score_D Score_F;
cards;
1 0.9 0 0.6 0.6
0 0.2 0.6 1 1
;
data want;
set have;
array s(*)score_a--score_f;
array top(5) ;
array r[*] top5-top1;
call poke(put(peekc(addr(s(1)),40),40.),addr(top[1]), 40);
call sortn(of r[*]);
/*drop top5 top6;*/
run;
64 Bit Machine
data have;
input Score_A Score_B Score_C Score_D Score_F;
cards;
1 0.9 0 0.6 0.6
0 0.2 0.6 1 1
;
data want;
set have;
array s(*)score_a--score_f;
array top(5) ;
array r[*] top5-top1;
call pokelong(put(peekclong(addrlong(s(1)),40),40.),addrlong(top[1]), 40);
call sortn(of r[*]);
/*drop top5 top6;*/
run;