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;
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.