BookmarkSubscribeRSS Feed
Mark7807
Calcite | Level 5

How do I change a numeric grade to a letter grade?

There are 4 sets of data that needs to be given a letter ranking

3 REPLIES 3
ballardw
Super User

Do you actually need to "change" or just generate an associated text value? A custom format would allow you to display a grade for the given numeric value. Assume the values are integers in the range 0 to 100 something like this:

Proc format;

value grade

91 - 100 = 'A'

81 - 90   = 'B'

71 - 80   = 'C'

61 - 70   = 'D'

low - 60  = 'F'

. = 'NA'

;

run;

Data test;

     do grade = 1 to 100;

     output;

     end;

run;

/* to see a summary of the above data*/

proc freq data=test;

     tables grade;

     format grade grade.;

run;

Mark7807
Calcite | Level 5

I can generate a new value but there are different weights on the 5 different, sorry not 4, sets and I am VERY new at this.

Thanks for the help.

art297
Opal | Level 21

Nothing wrong with being new, but explicitly describe what you want.  The best way, I think, is to provide two files, both in the format of data step code: one showing an example of what you have; and the other showing what you want to achieve based on your sample data set.

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

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 3 replies
  • 1933 views
  • 0 likes
  • 3 in conversation