Solved
Contributor
Posts: 26

# Counter Flags

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

Accepted Solutions
Solution
‎06-13-2017 08:22 AM
Super User
Posts: 9,790

## Re: Counter Flags

[ Edited ]

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;```

All Replies
Super User
Posts: 10,524

## Re: Counter Flags

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

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Solution
‎06-13-2017 08:22 AM
Super User
Posts: 9,790

## Re: Counter Flags

[ Edited ]

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;```
☑ This topic is solved.