Hello, Something like this (assuming the dataset is sorted): data have; input Person $ Claim Month $ Year ; datalines; A 1 Mar 2013 A 2 Apr 2013 A 3 May 2013 A 4 Aug 2014 A 5 Sep 2014 A 6 Oct 2014 A 7 Nov 2014 A 8 Dec 2014 A 9 Jan 2015 B 5 Sep 2012 B 6 Oct 2012 B 7 Nov 2013 C 8 Dec 2013 ; data want; set have; by person; retain flag; put flag "after"; curmonth=month(input(cats(month,year),monyy7.)); prevmonth=month(input(cats((lag(month)),lag(year)),monyy7.)); curdate=mdy(curmonth,1,year); prevdate=intnx('month',mdy(prevmonth,1,lag(year)),1); if first.person then flag=1; else if curdate=prevdate then flag+1; else flag=1; if flag gt 3 then flag=1; drop cur: prev:; run;
... View more