[code:1bjedzg5]
data aaa;
input name$ value@@;
cards;
RBC 5
RBC 4
RBC 6
HB 110
HB 100
HB 90
ALT 60
ALT 40
run;
/*方法一*/
data a(drop=flag);
set aaa;
flag=lag(name);
if name=flag then name='';
run;
/*方法二*/
data b(drop=flag);
length name $8;
if _n_=1 then do;
declare hash h();
h.definekey('name');
h.definedata('name');
h.definedone();
end;
set aaa(keep=name);
if h.find()^=0 then h.add();
else flag=1;
set aaa;
if h.find()=0 and flag=1 then do;
name='';
end;
output;
run;
[/code:1bjedzg5]
[quote="gpcy":140dde9m][code:140dde9m]data want;
set aaa;
by name notsorted;
if first.name then name=name;
else name=' ';
run;[/code:140dde9m][/quote:140dde9m]
一级会员的程序写得也这么的好啊。
[code:140dde9m]data want;
set aaa;
by name notsorted;
if not first.name then name=' ';
run;[/code:140dde9m]