以下是引用wxq1638在2008-12-12 18:50:00的发言:几个论坛上没有人能解决?
我心里哇凉,哇凉滴…………
▄【┻┳═一 ▄【┳一 ▄【┻═┳一 ▄【┳-一╰⊙═⊙╯
其实高手都会,只不过懒得回答,请允许我介个菜鸟来回答一下吧 O(∩_∩)O哈哈~
data x;
input a b@@;
s+a;
cards;
1 2
1 6
1 7
1 8
1 11
1 16
1 17
1 18
1 19
1 21
1 23
1 24
1 28
1 29
1 31
1 32
1 33
1 34
1 37
1 40
1 41
1 42
1 43
1 46
1 51
1 52
1 55
1 57
1 58
;
run;
data y;
input b@@;
cards;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
;
run;
proc sort data=x;
by b;
proc sort data=y;
by b;
data z;
merge x y;
by b;run;
data k;
set z;
by b;
if a=. then a=0;
run;
data find;
set k;
set k(firstobs=2 rename=(a=forward));
drop forward;
b=lag(b);
s=lag(s);
d=a-forward;
run;
data j;
set find;
if s=. then s=0;
run;
data jieguo;
set j;
where d=1;
keep s b;
s=dif(s);
if s=. then s=1;
rename s=a;
proc print;
id a;
run;
[此贴子已经被作者于2008-12-13 0:28:31编辑过]