0

我有一个有两列的表。现在我想选择比前一个“少”的行。例如。

一个 | 乙

2 | 1

2 | 2

2 | 4

2 | 8

2 | 9

3 | 12

3 | 14

1 | 16

我想在 a 中选择带有“1”的行,因为它小于前 3 行。我可以通过创建新列但在原地寻找东西来做到这一点。

4

1 回答 1

1
data want;
set have;
by a notsorted;
if first.a then flag=ifn(a lt lag(a),1,0);  *ifn allows lag to work here - excel style if;
run;

这将识别作为集合中第一行的行,并且 a 的值小于 a 的前一个值。然后,您可以want按过滤flag=1

于 2013-07-17T19:36:54.057 回答