BookmarkSubscribeRSS Feed
jonatan_velarde
Lapis Lazuli | Level 10

Good morning:

 

I have an dataset and i have to replace some dates (including formats):

 

i was trying to use this:

 

data have;

input   ID        birth_day:mmddyy10.;

format     birth_day mmddyy10.;

cards;

1515         03/22/2000

1533         12/19/2000

;

 

Data want;

set have;

if ID = 1515 then birth_day = '01/26/2003';

if ID = 1533 then birth_day = '01/30/2004';

run;

 

I tried this estatements and it is not working

 

Can anybody give me some hints please??

 

 

thanks

3 REPLIES 3
LinusH
Tourmaline | Level 20

The date your are trying to assign is a string, dates in SAS a numerical.

If you wish to express a data constant, you need to use the date format and using a data literal:

 

'01Jan205'd

Data never sleeps
jonatan_velarde
Lapis Lazuli | Level 10

Thanks for your answer:

 

i use this format:

 

mmddyy10.

 

the original data is formated like this.

 

ill try and give notices

ballardw
Super User

The value of a Date literal must be in the form of 'ddMONyy'd or 'ddMONyyyy'd for SAS to recognize it as a date. If you have assigned a format of mmddyy10. to the variable then that is the default appearance the value will have in your data set.

 

 

CFC_SAS_Communities_400x225.jpg

Call for content now open!

It's your turn to help shape SAS Innovate 2027. Share your expertise and inspire the SAS community.

Submit your proposal →

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
  • 2911 views
  • 0 likes
  • 3 in conversation