Hi Everyone,
i am trying to use a variable from a data sent in an INTNX statement to create a new variable in the same dataset. I would like to use the variable 'XXX' to replace the '-12' in the intnx statement below. XXX is a numeric and represents a number of months, i.e 12 months, 18 months, 255 months, etc. My goal is to create a new date variable, which = 'date' - XXX months.
As ever, thanks in advnce to all,
best regards,
paul
proc sql;
create table test2 as
select extdate,
Date,
intnx('Month',date,-12,'s') format=date9. as new_var
from test;
quit;
It depends on whether XXX takes on only positive values, and whether you want to move back or move forward. At any rate, this should probably be the replacement for DATE:
-1*xxx
But if that moves you in the wrong direction, use xxx instead.
Hi Astounding, thanks for getting backto me.
I dont think I have explained myself well...
'Date' is the date i wish to count back in time from.
'XXX' is a variable - the number of months i want to count back from 'Date'
How do i get the variable 'XXX' to replace the '-12' in this - intnx('Month',date,-12,'s') format=date9. as test
does that make sense?
You did fine. That was my mistake. Replace -12 with:
-1 * xxx
thanks Astounding, i appreciate your help.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.