If you have data like this: ID Dt Delq 1 31Jan2013 0 1 28Feb2013 0 1 31mar2013 0 1 30Apr2013 1 2 31Jan2013 0 2 28Feb2013 0 2 31Mar2013 0 2 30Apr2013 0 Then you could do this: proc sql; create table no_delq_in_3_months as select t.* from have t left outer join have t1 on t.id=t1.id and intnx('month',t.dt,-1,'end')=t1.dt and t1.delq>0 left outer join have t2 on t.id=t2.id and intnx('month',t.dt,-2,'end')=t2.dt and t2.delq>0 where t1.dt>='31Mar2013'd and t1.delq=0 and t2.id is null and t3.id is null ; quit; Depending on size, the datasets might need sorting or indexing. db
... View more