I have a function that selects a file from this month, how to change it so that it always selects from the previous one. for example now select file from september
%let thismonth=%sysfunc(putn(%sysfunc(today()),yymmn6.));
Instead of providing you with a command that uses %SYSFUNC() three times nested, I will provide what I feel is a simpler method.
data _null_;
call symputx('lastmonth',put(intnx('month',today(),-1),yymmn6.);
run;
Instead of providing you with a command that uses %SYSFUNC() three times nested, I will provide what I feel is a simpler method.
data _null_;
call symputx('lastmonth',put(intnx('month',today(),-1),yymmn6.);
run;
@Gieorgie wrote:
Thanks ! its working ! so just need put 'lastmonth' to select file_$lastmonth ?
&lastmonth
Just use INTNX in %SYSFUNC:
%let thismonth=%sysfunc(intnx(month,%sysfunc(today()),-1),yymmn6.);
Note that %SYSFUNC on its own enables the use of a format, so you do not need PUTN.
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!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.