Hi SAS Experts,
I got bad data from the clients, some times the date in column X is formatted as 26.01.2016 sometimes as 2016-02-23.
How can I create a SAS date column that unify's the format into yyyy-mm-dd?
Thanks for any help.
Read the data into a character variable with length 10, and then input into your date variable; select the format according to the occurence of a dash in position 5.
data want;
set have (rename=(L=old_L));
format L yymmddd10.;
if substr(old_L,5,1) = '-'
then L = input(old_L,yymmdd10.);
else L = input(old_L,ddmmyy10.);
drop old_L;
run;
Please try the below code
data want;
set have;
y=input(x,anydtdte10.);
format y yymmdd10.;
run;
Read the data into a character variable with length 10, and then input into your date variable; select the format according to the occurence of a dash in position 5.
data want;
set have (rename=(L=old_L));
format L yymmddd10.;
if substr(old_L,5,1) = '-'
then L = input(old_L,yymmdd10.);
else L = input(old_L,ddmmyy10.);
drop old_L;
run;
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register 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.