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
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.