BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
vpgodbole
Fluorite | Level 6

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!

1 ACCEPTED SOLUTION
3 REPLIES 3
novinosrin
Tourmaline | Level 20
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;
novinosrin
Tourmaline | Level 20
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;
 
How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 3550 views
  • 0 likes
  • 3 in conversation