## I am learning the macros,please solve this if you can

Solved
Occasional Contributor
Posts: 15

# I am learning the macros,please solve this if you can

from a given date for ex. 1st nov 2013

1. assign the date in yyyy_mm format to a macro variable

2.Assign the date in MMM_YY foramt to a macro variable

Accepted Solutions
Solution
‎12-09-2013 11:54 AM
Occasional Contributor
Posts: 12

## Re: I am learning the macros,please solve this if you can

Here it is.

data temp;

dt = today();

call symput('dt1', catx('_', year(dt), put(month(dt),2.)));

call symput('dt2', catx('_', substr(put(dt,date9.),3,3), substr(put(dt,date9.),8,2)));

run;

%put &dt1= &dt2=;

All Replies
Posts: 2,976

## Re: I am learning the macros,please solve this if you can

Answer to #1: %let macrovar=2013_11;

Answer to #2: should be obvious from answer to #1

--
Paige Miller
Solution
‎12-09-2013 11:54 AM
Occasional Contributor
Posts: 12

## Re: I am learning the macros,please solve this if you can

Here it is.

data temp;

dt = today();

call symput('dt1', catx('_', year(dt), put(month(dt),2.)));

call symput('dt2', catx('_', substr(put(dt,date9.),3,3), substr(put(dt,date9.),8,2)));

run;

%put &dt1= &dt2=;

Occasional Contributor
Posts: 15

## Re: I am learning the macros,please solve this if you can

Thanks for your reply,it is helpful for me, giving correct result

Posts: 3,852

## Re: I am learning the macros,please solve this if you can

Maybe this is what you mean.  Your question is somewhat vague.

18         %let given=%sysevalf('1nov2013'd);
19
20         %let a = %sysfunc(putn(&given,yymon));
21         %let b = %sysfunc(putn(&given,monyy));
22         %put NOTE: &=a &=b;
NOTE: A=2013NOV B=NOV13
🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
• 4 replies
• 248 views
• 0 likes
• 4 in conversation