%let YTD_START = %sysfunc(intnx(year.11, &LASTFRI, 0),yymmdd10.);
this above gives me YTD_START='2023-11-01' beginning of fiscal year but when i am trying to get the date 6 months prior to fiscal year (below)
%let back_6months= %sysfunc(intnx(month,&YTD_START,-6),yymmdd10.);
i am getting back_6months=1965-01-01. What do i have wrong here?
Remove the format from the %let YTD_START = statement.
%let YTD_START = %sysfunc(intnx(year.11, &LASTFRI, 0));
Why? Because to do arithmetic or logical operations on macro variables whose values are dates or time or date/times, the value in the macro variable must be unformatted. See Maxim 28.
Remove the format from the %let YTD_START = statement.
%let YTD_START = %sysfunc(intnx(year.11, &LASTFRI, 0));
Why? Because to do arithmetic or logical operations on macro variables whose values are dates or time or date/times, the value in the macro variable must be unformatted. See Maxim 28.
Thank you !!
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.