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
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.