Hello,
I've got some dates that I need to do use in filters and prompts. They are month end dates stored as a string and they're in the format 0911 = 30 September 2011. I'm struggling to convert the numbers to dates in a way that doesn't end up as 911 days after 1 Jan 1960.
I'm using Enterprise Guide 5.1 and would prefer a solution that I can use in a computed column. I'd also like to know how to convert this into both Sep 2011 or 30 Sep 2011, I'm not sure which will be most useful at this stage.
Thanks!
num_date = input('01'!!char_date,ddmmyy6.);
* now you have the first day of the month;
num_date = intnx('month',num_date,0,'end');
* now you have the last day of the month;
num_date = input('01'!!char_date,ddmmyy6.);
* now you have the first day of the month;
num_date = intnx('month',num_date,0,'end');
* now you have the last day of the month;
Thanks, that's brilliant!
Once I'd remembered that || is concatenate I managed to work out what you were doing. My problem was that I don't know SAS dates well enough to know whether 0911 can be a valid date, I assumed it could and ran into trouble. Next time I'll know better!
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.