作者tew (咖啡王子)
站内Statistics
标题Re: [程式] SAS 根据多变数保留最後一笔资料
时间Fri Jan 7 18:33:12 2011
※ 引述《wl118 (胖子怕热)》之铭言:
: ------------------------------------------------------------------------
: [软体程式类别]:SAS
: [程式问题]:资料处理
: [软体熟悉度]:低
: [问题叙述]:
: 将以下资料 把相同c和相同d的资料 只保留b(流水号)最大的(流水号最後一笔)
: a b c d
: 1 1 0800 0759
: 1 2 0800 0759
: 1 3 0802 0800
: 2 4 0750 0745
: 3 5 0755 0749
: 3 6 0756 0750
: 3 7 0756 0751
: 3 8 0756 0751
proc sort data=yourdata;by a c d descending b;
run;
proc sort data=yourdata nodupkey;by a c d;
run;
应该是这麽做就可以了
或者
proc sql;
create table a as select
a,max(b) as b,c ,d
from yourdata
group by a,c,d;
quit;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.83.228.94
1F:推 lsshno1:thanks 01/07 23:35
2F:推 lsshno1:不好意思,我觉得怪怪的耶,因为他的条件是c和d相等 01/07 23:55
3F:→ lsshno1:可是group by a,c,d(不管是sort,sql,univarate) 01/07 23:55
4F:→ lsshno1:他们好像都是选a,c,d为一组的情形.如果加入这笔资料的话: 01/07 23:56
5F:→ lsshno1:a=4 b=9 c=0756 d=0751,结果会没有选到b=8,9这两笔资料 01/07 23:57
6F:→ tew:你要不要在检查一下 应该不会有错才是 01/08 00:11
7F:→ tew:另外 他的条件 我不是很确定 01/08 00:12
8F:→ tew:是相同ID中 C D相同取B最大 还是单纯CD相同取最大 01/08 00:13
9F:→ tew:因为他给的例子 都可以用 所以我就这麽做了 01/08 00:13
10F:推 lsshno1:tew前辈,我有回了一篇文章喔,请看看. 01/08 00:22