Hi All,
I have this dataset:
Exposure Name
101 Sandra
101
101 Tiffany
101 Abel
101
101
I Want :
Expsoure Name
101 Sandra
101 Sandra
101 Tiffany
101 Abel
101 Abel
101 Abel
How can I carry forward character value to subsequent missing rows until it reaches a non-missing cell.
I tried using lag but it doesn't work if more than 1 row has missing value.
Thanks!
data want;
set have;
retain _name;
if name > ''
then _name = name;
else name = _name;
drop _name;
run;
data have;
infile datalines truncover;
input (Exposure Name) ($);
cards;
101 Sandra
101
101 Tiffany
101 Abel
101
101
;
data want;
set have;
by exposure;
length n $50;
retain n ;
if first.exposure then call missing(n);
if not missing(name) then n=name;
else name=n;
drop n;
run;
data want;
set have;
retain _name;
if name > ''
then _name = name;
else name = _name;
drop _name;
run;
data have;
infile datalines truncover;
input (Exposure Name) ($);
cards;
101 Sandra
101
101 Tiffany
101 Abel
101
101
;
data want;
update have(obs=0) have;
by exposure;
output;
run;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.