BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
serveoverice
Calcite | Level 5

Hi. I have the following code:

 

proc rank data=DATA_RANK groups=10 descending out=ranked;
var SCORE_1;
ranks GROUP_1;
var SCORE_2;
ranks GROUP_2;
run;

 

What I need to do is split out the data into two separate groups so a score of 0-9 for SCORE_1 and 0-4 for SCORE_2. I am effectively trying to split the data set into equal deciles and quintiles. Any help would be much appreciated.

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

Take two passes through Proc Rank.

proc rank data=DATA_RANK groups=10 descending out=ranked;
   var SCORE_1;
   ranks GROUP_1;

run;
proc rank data=ranked groups=4 descending out=rankedfinal;

   var SCORE_2;
   ranks GROUP_2;
run;

View solution in original post

2 REPLIES 2
ballardw
Super User

Take two passes through Proc Rank.

proc rank data=DATA_RANK groups=10 descending out=ranked;
   var SCORE_1;
   ranks GROUP_1;

run;
proc rank data=ranked groups=4 descending out=rankedfinal;

   var SCORE_2;
   ranks GROUP_2;
run;

serveoverice
Calcite | Level 5

Thanks.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 3301 views
  • 0 likes
  • 2 in conversation