标题: 就是不同! [打印本页] 作者: shiyiming 时间: 2010-7-27 00:34 标题: 就是不同! [code:2n71sisn]*method 1;
proc sql; *Use average to repalce multiple values at same id,date and field;
create table NoDup as
select unique id, date, field, avg(value) as value from Dup group by id, date, field;
quit; *191035;
*method 2;
proc means data = Dup nway noprint;
class id date field;
var value;
output out = NoDup(drop = _type_ _freq_) mean = value;
run; *191030;[/code:2n71sisn]
[code:1maeoe50]data dup;
input id date field value ;
cards;
1 2 0.0001 10
1 2 0.0001 10
1 2 0.00001 10
1 2 0.00001000001 10
1 3 0.00001 10
1 3 0.00001 10
1 3 0.00003 10
1 3 0.00003 10
1 3 0.00003 10
;
run;
proc sql; *Use average to repalce multiple values at same id,date and field;
create table NoDup1 as
select unique id, date, field, avg(value) as value from Dup group by id, date, field;
quit; *191035;
*method 2;
proc means data = Dup nway ;
class id date field;
var value;
output out = NoDup2(drop = _type_ _freq_) mean = value;
run; *191030;
proc sort data=dup out=dup;
by id date field;
data nodup3;
set dup;
by id date field;
if first.field then do; num=0;mean=0;end;
num+1; mean+value;
if last.field then do; value=mean/num; output; end;
run;[/code:1maeoe50]