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.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.