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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.