Hi,
I have following code.
%let m = 0;
%let cal_month = %eval(intnx('month', &min_monthdate, &m));
SAS gave me an error message of
ERROR: Required operator not found in expression: intnx('month', 15096, 0)
How should I fix it? Thank you.
Macro language does not understand how to use INTNX. You can force it to understand by adding %SYSFUNC. In that case the quotes around 'month' disappear (macro language assumes that month is a character string and not a reference to a variable). And there is no need for %EVAL since INTNX returns an integer.
%let cal_month = %sysfunc(intnx(month, &min_monthdate, &m));
let cal_month = %eval(intnx('month', "&min_monthdate"d, &m));
Thank you for the reply, but I got the same error.
ERROR: Required operator not found in expression: intnx('month', " 15096"d, 0)
Macro language does not understand how to use INTNX. You can force it to understand by adding %SYSFUNC. In that case the quotes around 'month' disappear (macro language assumes that month is a character string and not a reference to a variable). And there is no need for %EVAL since INTNX returns an integer.
%let cal_month = %sysfunc(intnx(month, &min_monthdate, &m));
Thank you so much! It works!
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.