Hi All,
I need to set up a count of months since an account was last 1+ in arrears.
Have
Acc Date Arrears
1 Jan 0
1 Feb 1
1 Mar 2
1 Apr 0
1 Jun 0
1 Jul 1
1 Aug 0
2 Jan 0
2 Feb 0
2 Mar 1
2 Apr 0
2 May 0
How can I set up a flag to do the following
Acc Date Arrears Since last 1+
1 Jan 0 0
1 Feb 1 0
1 Mar 2 0
1 Apr 0 1
1 Jun 0 2
1 Jul 1 0
1 Aug 0 1
2 Jan 0 0
2 Feb 0 0
2 Mar 1 0
2 Apr 0 1
2 May 0 0
Many Thanks
Adnan
Post test data in the form of a datastep!
data have; input Acc Date $ Arrears; datalines; 1 Jan 0 1 Feb 1 1 Mar 2 1 Apr 0 1 Jun 0 1 Jul 1 1 Aug 0 ; run; data want; set have; retain since_last 0; since_last=ifn(_n_=1 or arrears>0,0,since_last+1); run;
Use the lag() function to determine when you have a +1 increase, and then apply the solution from https://communities.sas.com/t5/Base-SAS-Programming/Number-of-months-since-value-x/m-p/365753
Post test data in the form of a datastep!
data have; input Acc Date $ Arrears; datalines; 1 Jan 0 1 Feb 1 1 Mar 2 1 Apr 0 1 Jun 0 1 Jul 1 1 Aug 0 ; run; data want; set have; retain since_last 0; since_last=ifn(_n_=1 or arrears>0,0,since_last+1); run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.