宏:
%macro des(x,y,z);
data k;
set a;
if group_1=&x and group_2=&y then output;
run;
proc sort data=k;by order_2;run;
proc means data=k noprint;
var &z;
by order_2;
output out=b n= mean= std= min= median= max=/autoname;
run;
data b(keep=order_2 n mean sd minimum median maximum);
set b;
n=put(%upcase(&z)_N,3.);
Mean=put(%upcase(&z)_Mean,6.2);
SD=put(%upcase(&z)_StdDev,7.3);
Minimum=put(%upcase(&z)_Min,5.1);
Median=put(%upcase(&z)_Median,6.2);
Maximum=put(%upcase(&z)_Max,5.1);
run;
proc transpose data=b out=c;
id order_2;
var n mean sd minimum median maximum;
run;
data t&x.&y.(keep=name per1 per2 per3 per4 group_1 group_2);
set c;
per1=_1;
per2=_2;
per3=_3;
per4=_4;
group_1=&x;
group_2=&y;
rename _name_=name;
run;
%mend des;
循环程序:
data s;
%do i=1 %to 10;
%do j=1 %to 4;
set s %des(&i,&j,aval);
output;
%end;
%end;
run;



雷达卡






京公网安备 11010802022788号







