SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 748|回复: 2
打印 上一主题 下一主题

按条件筛选指定记录的数据处理问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2007-9-11 13:14:11 | 只看该作者

按条件筛选指定记录的数据处理问题

大家好,遇到一个问题想向高手请教一下:
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”这两条记录。

请教高手这个代码如何编写,谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2007-9-11 16:06:57 | 只看该作者

to tomwalk

[code:b25ef]data test1;
set test;
if flag=0 and flag-lag(flag)=-1;
run;[/code:b25ef]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2007-9-11 23:43:10 | 只看该作者

Re: 按条件筛选指定记录的数据处理问题

谢谢shiyiming:)

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 07:11 , Processed in 0.068818 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表