Thanks you all again. All the information are helpful. I learn so much from your all.
SAS does contain a tool that may do exactly what you want. Assuming your data are sorted:
data want;
update have (obs=0) have;
by id;
run;
That way, you can automatically expand this to many variables instead of just x, y, and z.
Good luck.
Just another way
data want;
set have;
retain X_new Y_new Z_new ;
by ID;
array now(3) X Y Z;
array three(3)X_new Y_new Z_new ;
do i=1 to 3;
if ID=lag(ID) then do;
if now(i)^=. then three(i)=now(i);
end;
end;
if last.ID then output want;
drop x y z;
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.