Date: Fri, 4 Aug 2006 10:57:07 -0400
Reply-To: Ken Karan <posible88-sswug@YAHOO.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Ken Karan <posible88-sswug@YAHOO.COM>
Subject: Re: Match merge question
I like datanull's suggestion best. Mine is less elegant but works in a
brute-force/control-freak kinda way:
data main;
length addr $ 13;
input id $ trm addr $;
list;
cards;
1 1 333mainstreet
1 2 333mainstreet
1 3 333mainstreet
2 1 111mainstreet
;
run;
data upd;
length addr $ 13;
input id $ addr $;
cards;
1 001abcstreet
;
run;
data main (drop=AddrM AddrU);
merge
main (in=a rename=(addr=AddrM))
upd (in=u rename=(addr=AddrU))
;
by id;
if a then do;
if u then Addr = AddrU;
else Addr = AddrM;
output;
end;
run;
proc print data=main;