Hello all!
I have a list of names where many values are blank. I would like to replace those blanks with the name above it. I tried using
if name = "" then name = lag(name);
but I've since learned lag does not work well with conditionals. Thank you for any feedback!
| Have | Want |
| Name 1 | Name 1 |
| Name 2 | Name 2 |
| Name 2 | |
| Name 2 | |
| Name 2 | |
| Name 2 | |
| Name 2 | |
| Name 2 | |
| Name 3 | Name 3 |
| Name 3 | |
| Name 3 | |
| Name 3 | |
| Name 4 | Name 4 |
| Name 4 | |
| Name 4 | |
| Name 4 |
data want;
set have;
retain _name;
if name ne ""
then _name = name;
else name = _name;
drop _name;
run;
data want;
set have;
retain _name;
if name ne ""
then _name = name;
else name = _name;
drop _name;
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 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.
Ready to level-up your skills? Choose your own adventure.