i need to replicate the value of the previos line (_n_ - 1) to line (_n_), could anyone code it.
ex.
data have ;
input n field $;
cards ;
1 y12
2 .
3 .
4 b98
5 .
6 .
7 .
;
run ;
data want;
set have;
n field
1 y12
2 y12
3 h12
4 b98
5 b98
6 b98
7 b98
run;
please, consider that this table (have) cannot be ordered
Thanks
Simple retain statement would work.
data want;
set have;
retain field1;
if not missing(field) then field1=field;
run;
data want;
set have;
retain prevField;
if field ne "" then prevField = field;
if field = "" then field = prevField;
run;
Here is a solution:
data have;
input n field$;
cards ;
1 y12
2 .
3 .
4 b98
5 .
6 .
7 .
;
data want;
set have;
retain field2;
if not missing(field) then field2 = field;
if missing(field) then field = field2;
drop field2;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.