I've seen this posted, but I've never seen a real answer - how do I convert a number to a character in SASVA?
I have a table where the data is loaded with a field as numeric but should really be character. This is a production table and the datatype cannot be changed at the source. It's also a very large table, so I don't want to have to create a staging table in order to do this (this is the only field that I need to change, I don't want to have to update a new table every time this report is ran).
I cannot seem to make a calculated expression work that converts the number to a character. I've tried TreatAs() which didn't work (only treats a numeric as a different numeric type or datetype) and format() isn't recognizing any of the formats I give it (I don't think format converts types though).
What am I missing? Thnks!
Try using Format:
1. I had a data of 800gb, but the user has loaded it on lasr, and the column trdng_wk_end was having the values in number 20170112.
2. To create a date out of 20170112 kind of numbers follow the following.
2. create a new calculated item. I used the combination of functions.
mdy - outer shell
parse - first inner shell
substr - second inner shell
format - inner most inner shell
My case:
DateFromMDY(Parse(Substring(Format('TRDNG_WK_END_DT'n, 'BEST2.'), 5, 2), 'COMMA2.'), Parse(Substring(Format('TRDNG_WK_END_DT'n, 'BEST2.'), 7, 2), 'COMMA2.'),
Parse(Substring(Format('TRDNG_WK_END_DT'n, 'BEST4.'), 1, 4), 'COMMA4.'))
Thanks
Madhusudhan
SAS Administrator
Landmark Group
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Early bird rate extended! Save $200 when you sign up by March 31.
See how to use one filter for multiple data sources by mapping your data from SAS’ Alexandria McCall.
Find more tutorials on the SAS Users YouTube channel.