data test;
input id t v;
cards;
1 2000 1
1 2001 2
1 2002 0
1 2003 0
1 2004 3
1 2005 4
1 2006 0
1 2007 5
1 2008 6
1 2009 7
1 2010 8
2 2000 9
2 2001 10
2 2002 11
2 2003 12
2 2004 0
2 2005 0
2 2006 13
2 2007 14
2 2008 15
2 2009 0
2 2010 16
;
run;
**get first dataset;
proc sort data=test; by id t v; run;
data test01;
set test;
by id t v;
prev=lag(v);
run;
proc sort data=test01; by id descending t v; run;
data test02;
set test01;
by id descending t v;
retain flag;
if first.id then flag=.;
if v=0 then flag=1;
if not last.id then do;
if v=0 and prev=0 then delete;
end;
run;
proc sort data=test02 out=data1; by id t v; where flag=1; run;
**get second dataset;
data data2;
set test;
by id t v;
prev=lag(v);
if v=0 or prev=0;
run;


雷达卡






哪位大神过来帮帮忙吧
京公网安备 11010802022788号







