sample data for dob:
12201999
01142000
10091998
Code I tried:
dobm=substr(dob,1,2);
dobd=substr(dob,3,2);
doby=substr(dob,5,4);
dobchar=compress(dobm||'/'||dobd||'/'||doby);
dobnum=input(strip(dobchar),mmddyy10.);
run;
ERROR:
NOTE: Invalid argument to function INPUT at line 622 column 8.
WARNING: Limit set by ERRORS= option reached. Further errors of this type will not be printed.
It's not clear whether your original DOB variable is numeric or character.
If it's character:
dobnum = input(dob, mmddyy8.);
format dobnum yymmdd10.; /* or whatever format you prefer */
If it's numeric:
dobunum = input( put(dob,z8.), mmddyy8.);
format dobnum yymmdd10.; /* or whatever format you prefer */
It's not clear whether your original DOB variable is numeric or character.
If it's character:
dobnum = input(dob, mmddyy8.);
format dobnum yymmdd10.; /* or whatever format you prefer */
If it's numeric:
dobunum = input( put(dob,z8.), mmddyy8.);
format dobnum yymmdd10.; /* or whatever format you prefer */
@Astounding, dob is a string according to the subject and to the use of substr.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.