Hello,
I was recently given some numeric data the ends in a character. The last characce ter corresponds to a numeric variable.
Ex.
000A = 0001
000B = 0002
Right now I'm using the Substr() function to get the last character of every variable, then I replace it and join the new converted number back on. I was wondering if you all knew a more efficient method.
Thanks
Looks like 'zoned decimal' for which SAS has an informat.
substr(yourvar,4,1) = put(rank(substr(yourvar,4,1))-64,1.);
assuming it's always uppercase and you are on a standard ASCII system (not EBCDIC). 'A'=65 through 'Z'=90. Of course if you go past I ('9' in this) you will have a problem of space (what happens to the second digit).
Looks like 'zoned decimal' for which SAS has an informat.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.