%macro dsmedian(var=, /* variable list to calculate */
/* the median from */
median=); /* variable name of returned */
/* median */
array vars{*} &var;
/* Assign the center of the variable list to CENTER. */
center=(dim(vars) + nmiss(of vars{*}) + 1) / 2;
/* Calculate median */
&median=mean(ordinal(floor(center), of vars{*}),
ordinal(ceil(center), of vars{*}));
drop center;
%mend dsmedian;
data medians;
set choldata;
%dsmedian (var=chol1-chol52, median=medchol)
run;