SAS中文论坛
标题:
条件限定下删除重复记录
[打印本页]
作者:
shiyiming
时间:
2012-8-24 09:18
标题:
条件限定下删除重复记录
[size=150:pb7a0sok]先给出数据样式,问题见后。。。[/size:pb7a0sok]
[code:pb7a0sok]data raw;
input date yymmdd10. id $ 12-25 name $ ;
datalines;
2009-03-05 3202831070971 石媛
2009-06-04 3202831070971 石媛
2009-04-16 3202831070981 陈泽宇
2009-07-30 3202831070981 陈泽宇
2009-03-19 3202831070991 郭战
2009-07-15 3202831070991 郭战
2009-03-05 3202831071001 宋羲晨
2009-06-18 3202831071001 宋羲晨
2009-03-02 3205239930131 吴王钰洁
2009-04-22 3205239930131 吴王钰洁
2003-02-20 3205830002811 黄晓悦
2003-02-20 3205830002811 黄晓悦
2003-08-20 3205830002811 黄晓悦
2003-08-20 3205830002811 黄晓悦
2004-02-19 3205830002811 黄晓悦
2005-04-21 3205830002811 黄晓悦
2003-02-20 3205830002812 黄晓雯
2003-02-20 3205830002812 黄晓雯
2003-08-20 3205830002812 黄晓雯
2003-08-20 3205830002812 黄晓雯
2004-02-19 3205830002812 黄晓雯
2005-04-21 3205830002812 黄晓雯
2002-09-25 3205830005601 郭辰幸
2003-03-20 3205830005601 郭辰幸
2003-03-20 3205830005601 郭辰幸
2004-05-14 3205830005601 郭辰幸
2005-04-20 3205830005601 郭辰幸
2003-01-16 3205830005621 张俊晖
2003-01-16 3205830005621 张俊晖
2003-07-10 3205830005621 张俊晖
2003-07-10 3205830005621 张俊晖
2004-01-15 3205830005621 张俊晖
2005-04-22 3205830005621 张俊晖
;
run;[/code:pb7a0sok]
[size=150:pb7a0sok][color=#FF0000:pb7a0sok][b:pb7a0sok]三变量,日期,编号,以及姓名;
要求是在ID号与姓名相同的情况下,若日期相同,则保留该重复记录的第一条,(也就是求 日期,ID,姓名 的唯一性)
杯具出现,期望京剧现身,不胜感激~~~[/b:pb7a0sok][/color:pb7a0sok][/size:pb7a0sok]
作者:
shiyiming
时间:
2012-8-24 10:11
标题:
Re: 条件限定下删除重复记录
[code:2cvlgyum]data r1;
set raw;
by id name date;
if first.date;
run;[/code:2cvlgyum]
[size=150:2cvlgyum]自己写了个简单的语句,有大侠看看是否有错,?
另外,SQL语句怎么实现呢?期待回复~~[/size:2cvlgyum]
作者:
shiyiming
时间:
2012-8-27 01:26
标题:
Re: 条件限定下删除重复记录
[code:3hjsgvp1]
data raw;
input date yymmdd10. id $ 12-25 name $ 29-38 ;
datalines;
2009-03-05 3202831070971 石媛
2009-06-04 3202831070971 石媛
2009-04-16 3202831070981 陈泽宇
2009-07-30 3202831070981 陈泽宇
2009-03-19 3202831070991 郭战
2009-07-15 3202831070991 郭战
2009-03-05 3202831071001 宋羲晨
2009-06-18 3202831071001 宋羲晨
2009-03-02 3205239930131 吴王钰洁
2009-04-22 3205239930131 吴王钰洁
2003-02-20 3205830002811 黄晓悦
2003-02-20 3205830002811 黄晓悦
2003-08-20 3205830002811 黄晓悦
2003-08-20 3205830002811 黄晓悦
2004-02-19 3205830002811 黄晓悦
2005-04-21 3205830002811 黄晓悦
2003-02-20 3205830002812 黄晓雯
2003-02-20 3205830002812 黄晓雯
2003-08-20 3205830002812 黄晓雯
2003-08-20 3205830002812 黄晓雯
2004-02-19 3205830002812 黄晓雯
2005-04-21 3205830002812 黄晓雯
2002-09-25 3205830005601 郭辰幸
2003-03-20 3205830005601 郭辰幸
2003-03-20 3205830005601 郭辰幸
2004-05-14 3205830005601 郭辰幸
2005-04-20 3205830005601 郭辰幸
2003-01-16 3205830005621 张俊晖
2003-01-16 3205830005621 张俊晖
2003-07-10 3205830005621 张俊晖
2003-07-10 3205830005621 张俊晖
2004-01-15 3205830005621 张俊晖
2005-04-22 3205830005621 张俊晖
;
run;
/* 方式一: 数据步 */
proc sort data=raw out=ads;
by date id name;
run;
data bds;
set ads;
by date id name;
if first.name;
run;
/* 方式二:PROC SORT */
proc sort data=raw noduprecs out=cds dupout=dds;
by date id name;
run;
/* 方式三:PROC SQL */
proc sql noprint;
create table eds as
select distinct date,id,name
from raw;
quit;
[/code:3hjsgvp1]
欢迎光临 SAS中文论坛 (http://www.mysas.net/forum/)
Powered by Discuz! X3.2