作者alias (希望)
看板Statistics
标题Re: [问题] 有关SAS..
时间Fri Nov 10 10:12:03 2006
※ 引述《jupit (lbd)》之铭言:
: ※ 引述《alias (希望)》之铭言:
: : PROC SORT DATA=work.bb; BY port_code; RUN;
: : DATA cc; SET work.bb; BY port_code;
: : IF FIRST.port_code THEN n=0;
: : n+1;
: : IF LAST.port_code & n=1 THEN OUTPUT; RUN;
: : 就试试看吧, 以上
: 如果是我会这麽写
: proc sort nodupkey data=work.bb;
: by port_code;run;
: data aa;
: set work.bb;
: if last.port_code=1;
: run;
: 我通常都是在id非唯一时..如果资料重复(所有栏位都相同情况下)取最後一个id
: or 同id而其他栏位并非全相同,则去排priority(看以何栏位为优先, by ....)
: 一样取最後唯一的id
你的方法是当资料有重复的时候,只保留一个无重复的即可
即 若资料为 a b b c c c d d e e f f g
你的作法得到 a b c d e f g 的结果, 也就是去掉重复的部份
而我的作法会得到的是 a g , 也就是只要有重复, 我就都不要了
(程式中 last.port_code=1 时的n值代表 此种port_code的个数
若个数=1, 当然就代表此种port_code并无重复, 是为单一个的)
所以这两种作法所会得到的结果是不同的
而我个人认为原PO需要的是 "只要有重复, 就不要"
因而提供一点拙见, 也欢迎指教.
祝 愉快
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.76.175.139
1F:推 jupit:^^..了解~~我想错了..sorry~ 11/10 10:23
2F:推 alias:不用sorry啦...了解异同在哪儿就好啦...^^ 11/10 11:43