DATA Step, Macro, Functions and more

sas DATE creation

Reply
Contributor
Posts: 57

sas DATE creation

Hello,

 

I have an output column with just the text 'January' or 'February' etc.

 

I want to create another column adjacent that will be a date in the following format, '01JAN2017'.

 

My issue is that I always want the date to be the first of the month but for the current year.

 

Eg. 

 

January = '01Jan2017'

February = '01Feb2017'

etc etc

 

Any ideas?

 

Thanks,

Cam

Super User
Posts: 5,093

Re: sas DATE creation

One idea:

 

new_column = '01' || substr(month, 1, 3) || put(today(), year4.);

Contributor
Posts: 57

Re: sas DATE creation

Hi,

 

This doesn't work. I just get empty column.

 

Cheers,

Super User
Posts: 5,093

Re: sas DATE creation

"This doesn't work" isn't really helpful.  Can you post the log from your attempt that didn't work?

Occasional Contributor
Posts: 7

Re: sas DATE creation

It does work

 

data new;
input month $;
cards;
January
February
March
April
May
June
July
August
September
October
November
December
;
run;
data new1;
set new;
new_col='01';
new_col1=upcase(substr(month,1,3));
new_col2=put(today(),year4.);
fin_col=new_col || strip(new_col1) || trim(new_col2);
run;

Ask a Question
Discussion stats
  • 4 replies
  • 116 views
  • 1 like
  • 3 in conversation