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.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.