我有一个有两列的表。现在我想选择比前一行“更少”的行。例如。
A |乙
2 | 1
2 | 2
2 | 4
2 | 8
2 | 9
3 | 12
3 | 14
1 | 16
我想在 a 中选择“1”的行,因为它比之前的3少。我可以通过创建新列但在地点寻找内容来实现。
答案 0 :(得分: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的前一个值。然后,您可以按want
过滤flag=1
。