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

Hi Experts,
I need to swap missing value with above value so please help me in the same.

data abc;
input sub $ score;
datalines;
001 120
001 .
002 220
001 .
002 .
003 .
003 230
;
run;
data abc1;
set abc;
score2=lag(score);
if score = . then score=lag(score);
run;

WANT
001 120
001 120
002 220
001 220
002 220
003 220
003 230

 

thnx

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

Try this:

data have;
input sub $ score;
datalines;
001 120
001 .
002 220
001 .
002 .
003 .
003 230
;
run;

data want;
set have;
retain x1;
if score = .
then score = x1;
else x1 = score;
drop x1;
run;

proc print noobs;
run;

Result:

sub    score

001     120 
001     120 
002     220 
001     220 
002     220 
003     220 
003     230 

View solution in original post

3 REPLIES 3
Tom_C_Mortensen
Calcite | Level 5

Hi Rahul

 

below can do the trick

 

data abc1;

retain score;

set abc(rename=(score=score2));

if score2 ne . then score=score2;

drop score2;

run;

Kurt_Bremser
Super User

Try this:

data have;
input sub $ score;
datalines;
001 120
001 .
002 220
001 .
002 .
003 .
003 230
;
run;

data want;
set have;
retain x1;
if score = .
then score = x1;
else x1 = score;
drop x1;
run;

proc print noobs;
run;

Result:

sub    score

001     120 
001     120 
002     220 
001     220 
002     220 
003     220 
003     230 
Rahul_SAS
Quartz | Level 8

Hi KurtBremser,

 

Thank you for the help.

 

I have one more point, if the first observation has a missing value then how will it work??

 

thnx

rahul

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

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
  • 1596 views
  • 0 likes
  • 3 in conversation