/*
Sure just need another data step.
*/
data have;
input Id Date :anydtdte. FirstName $ LastName $ x ;
format date monyy6. ;
datalines;
123 Apr-22 A B 20
123 Apr-23 A B 30
123 Apr-24 A B 40
124 Apr-22 E F 10
125 Apr-22 G H 10
125 Apr-23 G H 10
;
proc sql;
create table temp as
select a.*,b.FirstName,b.LastName,b.x
from
(select * from (select distinct id from have),(select distinct Date from have)) as a
natural left join have as b
order by id,date;
quit;
data want;
update temp(obs=0 drop=x) temp(drop=x);
by id;
output;
run;
data final_want;
merge want temp(keep= id date x);
by id date;
run;
... View more