SAS中文论坛

标题: 按条件筛选指定记录的数据处理问题 [打印本页]

作者: shiyiming    时间: 2007-9-11 13:14
标题: 按条件筛选指定记录的数据处理问题
大家好,遇到一个问题想向高手请教一下:
data test;
input number flag z;
cards;
13912345656 1 12
13912345757 1 34
13912345757 0 44
13912345858 1 45
13912345858 1 12
13912345858 0 23
13912345858 0 25
13912345858 1 56
13912345858 0 67
;
run;

在上述数据集中(顺序已经排列好,不需考虑),我想筛选每个电话号码在falg=1之后的第一个flag=0的记录,例如13912345757 ,就是“13912345757 0 44”这条记录;13912345858 这个号码就是“13912345858 0 23”和“13912345858 0 67”这两条记录。

请教高手这个代码如何编写,谢谢!
作者: shiyiming    时间: 2007-9-11 16:06
标题: to tomwalk
[code:b25ef]data test1;
set test;
if flag=0 and flag-lag(flag)=-1;
run;[/code:b25ef]
作者: shiyiming    时间: 2007-9-11 23:43
标题: Re: 按条件筛选指定记录的数据处理问题
谢谢shiyiming:)

刚发了帖子,突然也想到了用这个方法,不过我用的条件是
if flag=0 and flag ne lag(flag);
得到的结果都是一样的。




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2