- data test;
- input
- n v1 v3 v5 v8;
- datalines;
- 1 1 0 1 42345
- 2 0 3 1 42310
- 3 1 0 1 42490
- 4 0 3 1 42450
- 5 0 0 1 42475
- 6 1 3 1 42535
- 7 1 0 1 42630
- 8 0 0 1 42770
- 9 1 3 1 42875
- 10 0 3 1 42725
- 11 0 0 1 42810
- 12 1 3 1 42880
- 13 0 0 1 42790
- 14 1 0 1 42715
- 15 0 3 1 42740
- 16 0 0 1 42760
- 17 1 3 2 42825
- ;
- run;
- data test2a test2b;
- set test;
- if (v1=1 and v3=0) or (v1=0 and v3=3) then output test2a;
- if (v1=0 and v3=0) or (v1=1 and v3=3) then output test2b;
- run;
- data test3a;
- set test2a;
- retain grp;
- lagv3=lag(v3);
- if v3=0 and v3 ne lagv3 then grp=n;
- run;
- data test3b;
- set test2b;
- retain grp;
- lagv3=lag(v3);
- if v3=0 and v3 ne lagv3 then grp=n;
- run;
- data test4;
- set test3a test3b;
- by grp;
- retain d;
- if first.grp then d+1;
- drop lagv3 grp;
- run;


雷达卡

京公网安备 11010802022788号







