DATA Step, Macro, Functions and more

Macro Variable clarification

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 6
Accepted Solution

Macro Variable clarification

Hi Experts,

 

When i submitt the below statements it gets resolved to February.

 

%let %SYSFUNC(TODAY(), Monname.);

Resolves to February

 

However when i try to provide date value manually below statement gives error, Could you please let me know why it is giving error and how can it be resolved.


%Let D=%EVAL("24FEB2016"d);

%PUT %SYSFUNC(&D,Monname.);

 

Thanks in advance.

 

Regards,

Varun


Accepted Solutions
Solution
‎02-25-2016 02:53 PM
Super User
Posts: 17,899

Re: Macro Variable clarification

%sysfunc requires a function in the first parameter and an optional format for the second parameter.

 

You're not using a function for the first parameter. If you use PUTN then you don't need the second parameter.

This resolves as expected:

 

%Let D="24FEB2016"d;
%put %sysfunc(putn(&d, monname.));

View solution in original post


All Replies
Solution
‎02-25-2016 02:53 PM
Super User
Posts: 17,899

Re: Macro Variable clarification

%sysfunc requires a function in the first parameter and an optional format for the second parameter.

 

You're not using a function for the first parameter. If you use PUTN then you don't need the second parameter.

This resolves as expected:

 

%Let D="24FEB2016"d;
%put %sysfunc(putn(&d, monname.));
Trusted Advisor
Posts: 1,115

Re: Macro Variable clarification

Hi @varunk,

 

The first error message ("A character operand was found in the %EVAL function ...") is due to the fact that %EVAL cannot cope with date literals. To store the numeric SAS date value corresponding to the date literal in the macro variable, you can use the %SYSEVALF function:

%let d=%sysevalf("24FEB2016"d);
%put &d;
/* 20508 */

Reeza explained the second error message ("Function name missing in %SYSFUNC ...").

Occasional Contributor
Posts: 6

Re: Macro Variable clarification

thanks for all your help.

Occasional Contributor
Posts: 6

Re: Macro Variable clarification

Thanks for all your help

☑ This topic is solved.

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

Discussion stats
  • 4 replies
  • 242 views
  • 0 likes
  • 3 in conversation