Here you go.
data have;
infile datalines truncover dsd;
input Person_ID var1 $ var2 $ var3 $ var4;
datalines;
1,aa,aa1,aaa,
,,aa2,,10
2,bb,bb,bbb,6
3,cc,cc,ccc,8
4,dd,dd,ddd,
5,ee,ee,eee,7
6,ff,ff,fff,
7,gg,gg1,ggg,3
,,gg2,,5
,,gg3,,6
8,hh,hh1,hhh,
,,hh2,,
,,hh3,,
;
run;
data have2;
retain dummy 1;
set have;
run;
proc print; run;
data want;
if 0 then set have2;
update have2(keep=dummy obs=0) have2(keep=dummy Person_id var1-var2);
by dummy;
set have2(keep=var3-var4);
output;
drop dummy;
run;
proc print;
run;
... View more