BookmarkSubscribeRSS Feed
yogeswar_123
Calcite | Level 5

data datechar;

input subid char $9.;
cards;
1 04jan2015
2 06feb2019
3 08nov2022
4 undec2016
5 ununk2017
6 15jul2013
run;

3 REPLIES 3
andreas_lds
Jade | Level 19

Please rephrase your question without using abbreviations.

s_lassen
Meteorite | Level 14

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;")

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 914 views
  • 4 likes
  • 4 in conversation