BookmarkSubscribeRSS Feed
apple
Calcite | Level 5

I have numeric values stored as Character Variables, but I want to group them in ranges. Since for Character Variables, there is always the issue of missing out some  values if I use range, can I just list out all the values? Thanks

Eg

Proc Format;

Value $ABC

'1', '2', '3'= '1-3';

run;

1 REPLY 1
RichardinOz
Quartz | Level 8

@apple

Yes you can list individual values as you suggest.

I have to ask why you are storing numeric values as character variables when it is causing you some difficulty managing the data.  If your concern is saving space you would do better to apply the compress= option on the dataset.  Numeric ranges are much easier to manage intuitively with numeric formats, and this is true even if the numbers are categorical values.  Especially with dates (such as in the years data you posted elsewhere), you should be using numeric variables in preference to characters because it facilitates date arithmetic (comparing dates or displacing them by given intervals).

Richard in NZ

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
  • 1 reply
  • 754 views
  • 0 likes
  • 2 in conversation