I want to sort data by styleid and rank_no
I want this result
rank_no styleid
1 3
1 4
2 1
2 2
3 2
but using my program I obtain
2 1
2 1
3 2
1 3
1 4
as if the data is sorted only by styleid
data have;
input rank_no$ styleid$;
cards;
2 1
3 2
2 2
1 3
1 4
run;
proc sort data=have;
by styleid rank_no ; run;
just change your by statement .
proc sort data=have;
by rank_no styleid;
run;
just change your by statement .
proc sort data=have;
by rank_no styleid;
run;
if I change the order it will sort only by rank_no
You get exactly what you told proc sort to do.
According to your expected result, you need to change the order of variables in the by:
proc sort data=have;
by rank_no styleid;
run;
The result from that is
rank_no styleid 1 3 1 4 2 1 2 2 3 2
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.