You asked for it, sort 3 data set in one data step by different variables. Silly? I'll let you decide. data a(keep=aa) b(keep=bb) c(keep=cc); do _n_ = 10 to 1 by -1; aa = _n_; bb = _n_; cc = _n_; do j = 1 to 3; output; end; end; run; data _null_; if 0 then set a; declare hash a(dataset:'A',multidata: 'Y',ordered:'Y'); a.definekey('AA'); a.definedata(all:'Y'); a.defineDone(); a.output(dataset:'SA'); a.clear(); if 0 then set b; declare hash b(dataset:'B',multidata: 'Y',ordered:'Y'); b.definekey('BB'); b.definedata(all:'Y'); b.defineDone(); b.output(dataset:'SB'); if 0 then set c; declare hash c(dataset:'C',multidata: 'Y',ordered:'Y'); c.definekey('CC'); c.definedata(all:'Y'); c.defineDone(); c.output(dataset:'SC'); stop; run; proc print data=SA; run; proc print data=SB; run; proc print data=SC; run;
... View more