Each row contains Max or Min (intervened 1-by-1). How to get the range , in data step ?!
Sample code, with dataset, is below.
data _temp(rename=(i=bloc));
do i=1 to 20;
if mod(i,2)=1 then do;
var_min=-ranuni(i)*100;
var_max=0;
end;
else do;
var_max=ranuni(i)*100;
var_min=0;
end;
output;
end;
run;quit;
%let selvar=var;
data _temp; set _temp;
if _N_>=0 then do;
if &selvar._min<-0.0001 then do;
&selvar._range= lag(&selvar._max)- &selvar._min;
t_max=lag(&selvar._max);
end;
else if &selvar._max> 0.0001 then do;
&selvar._range= &selvar._max - lag(&selvar._min);
t_min=lag(&selvar._min);
end;
end;
run;quit;
... View more