The following statement is for current year
%let Yr = %sysfunc(Year(%sysfunc(today())));
What would be the statement for previous year or next year?
I tried the statement below, but did not work.
%let PrevYr = %sysfunc(Year(%sysfunc(today())))-1;
If you want the macro processor to preform arithmetic you have to ask it.
%EVAL() will do integer arithmetic, which is all you need.
%let PrevYr = %eval(&yr-1);
If you need floating point values use %SYSEVALF().
If you want the macro processor to preform arithmetic you have to ask it.
%EVAL() will do integer arithmetic, which is all you need.
%let PrevYr = %eval(&yr-1);
If you need floating point values use %SYSEVALF().
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.
Ready to level-up your skills? Choose your own adventure.