I have a char variable containing dates such as : 2008Dec ; 2009Jan ...
I want to convert it to numeric datetime and then format it as DATE9.
However it seems that yymon7. works only as format. What should I use then?
data new; set old; Date_num = input(Date, yymon7.);
format Date_num DATE9.;
run;
If you really can't change your source data to monyy before your final step gets hold of it, you can do it this way:
data old;
do date = '2008dec', '2009jan', '2009dec';
output;
end;
stop;
run;
data new;
set old;
Date_num = input(substr(date, 5, 3) || substr(date, 1, 4), monyy7.);
format Date_num DATE9.;
run;
If you really can't change your source data to monyy before your final step gets hold of it, you can do it this way:
data old;
do date = '2008dec', '2009jan', '2009dec';
output;
end;
stop;
run;
data new;
set old;
Date_num = input(substr(date, 5, 3) || substr(date, 1, 4), monyy7.);
format Date_num DATE9.;
run;
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!
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.