data datechar;
input subid char $9.;
cards;
1 04jan2015
2 06feb2019
3 08nov2022
4 undec2016
5 ununk2017
6 15jul2013
run;
Please rephrase your question without using abbreviations.
I assume you want to correct the input CHAR to a valid date, using averages. Something like this, maybe?
data datechar;
input subid char $9.;
if substr(char,1,2)='un' then
substr(char,1,2)='15';
if substr(char,3,3)='unk' then
substr(char,3,3)='JUL';
date=input(char,date9.);
format date date9.;
drop char;
drop char;
cards;
1 04jan2015
2 06feb2019
3 08nov2022
4 undec2016
5 ununk2017
6 15jul2013
;run;
(apart from adding the calculation of the substrings, I also added a semicolon before the "run;")
And then somebody will start to investigate why the majority of accidents happen in July.
Nearly 200 sessions are now available on demand in the Innovate Hub.
Watch Now →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.