Hi, How do I carry the non-missing up or down within the same ID? The final output is one ID per line.
Before:
| ID | A | B | C | D | E | F |
| 1 | 20 | 11 | . | 1 | . | 40 |
| 1 | 20 | 11 | . | 1 | 36 | . |
| 1 | 20 | 11 | 45 | 1 | . | . |
| 2 | 75 | 18 | 76 | 2 | . | . |
| 2 | 75 | 18 | . | 2 | . | . |
| 2 | 75 | 18 | 76 | 2 | 83 | . |
| 3 | 23 | 3 | . | 3 | . | . |
| 3 | 23 | 3 | . | 3 | 57 | 73 |
| 3 | 23 | 3 | 61 | 3 | . | . |
After:
| ID | A | B | C | D | E | F |
| 1 | 20 | 11 | 45 | 1 | 36 | 40 |
| 2 | 75 | 18 | 76 | 2 | 83 | . |
| 3 | 23 | 3 | 61 | 3 | 57 | 73 |
Thank you
data have;
input ID A B C D E F;
cards;
1 20 11 . 1 . 40
1 20 11 . 1 36 .
1 20 11 45 1 . .
2 75 18 76 2 . .
2 75 18 . 2 . .
2 75 18 76 2 83 .
3 23 3 . 3 . .
3 23 3 . 3 57 73
3 23 3 61 3 . .
;
data want;
update have(obs=0) have;
by id;
run;
data have;
input ID A B C D E F;
cards;
1 20 11 . 1 . 40
1 20 11 . 1 36 .
1 20 11 45 1 . .
2 75 18 76 2 . .
2 75 18 . 2 . .
2 75 18 76 2 83 .
3 23 3 . 3 . .
3 23 3 . 3 57 73
3 23 3 61 3 . .
;
data want;
update have(obs=0) have;
by id;
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.