I have a character variable that consists of both letter and numbers(i.e. ABC123).
I want to convert all observations that have lower case in that variable (i.e. abc124) to upper case (ABC124). Not all observations have lower case. What is the best way to do this? newvar =upcase(oldvar) gives me missing values, I am assuming because I have numbers in my string too.
Use the upcase function. It does not matter that values might or might not contain uppercase, lowercase, or numerals. I don't know what you are doing to get missing values. You have probably previously defined newvar as numeric.
Use the upcase function. It does not matter that values might or might not contain uppercase, lowercase, or numerals. I don't know what you are doing to get missing values. You have probably previously defined newvar as numeric.
@Melk wrote:
newvar =upcase(oldvar) gives me missing values, I am assuming because I have numbers in my string too.
No, there's some other reason most likely. If you have mixed types in the cell, that's only possible with a character variable. If your variable is numeric, then UPCASE will definitely not work.
Thanks - I just preceded that line with newvar = " " and that seemed to work for some reason.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.