|
|
Re: 求助求助,毕业论文遇到问题,多谢
data a;
input var $ RBC PLT ALT BUN;
cards;
min 3.5 100 0 2.5
max 5.5 300 40 7.8
;
run;
data b;
input center$ number$ RBC PLT ALT BUN;
cards;
1 1 6 240 58 5.7
1 2 4.5 450 20 2.8
2 3 3.4 98 23 9.5
2 4 5.6 230 50 3.8
3 5 6.2 320 100 1.5
3 6 4.5 200 21 3.9
;
run;
%let varlist="RBC PLT ALT BUN";
%macro sep_var;
%do i=1 %to 4;
%global var&i;
%let var&i=%sysfunc(scan(&varlist,&i," "));
%put &&var&i;
%end;
%mend;
%sep_var
%macro max_min;
%do i=1 %to 4;
%global max&&var&i min&&var&i;
proc sql noprint;
select max(&&var&i) ,min(&&var&i)
into :max&&var&i,:min&&var&i
from a;
quit;
%end;
%mend;
%max_min
%macro t;
data target;
set b;
%do i=1 %to 4;
if &&var&i > &&&&min&&var&i and &&var&i<&&&&max&&var&i then &&var&i='s';
%end;
run;
%mend;
%t |
|