BookmarkSubscribeRSS Feed
Luke_Wiebolt
Calcite | Level 5

We have a column of dates in a four digit number format currently (9501). We need this recoded to display something resembeling: Jan,1995 but we can't figure out the function or expression to do so. Any suggestions?? Thanks!! version 7.1

5 REPLIES 5
Luke_Wiebolt
Calcite | Level 5

PLEASE HELP!!!

ballardw
Super User

Recommend making and actual date valued variable. Is that value supposed to be YYMM (year and month?) If so do have ANY years with values less than 20 that would indicate 1915 instead of 2015? If so how do you tell the actual year?

 

data junk;
   date= 9501;
   SASdate= mdy( mod(date,100),1,int(date/100));
   Format sasdate MONYY7.;
run;

proc print; run;
Luke_Wiebolt
Calcite | Level 5

Thank you very much! This worked just as we hoped, perfect!

PGStats
Opal | Level 21

Please mark the solution as Accepted.

PG
Patrick
Opal | Level 21

Alternatively there is also an informat which can read such strings.

data sample;
  have=9501;
  want=input(put(have,4.),yymmn4.);
  format want monyy7.;
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

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

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
  • 5 replies
  • 2222 views
  • 2 likes
  • 4 in conversation