I need to replace missing values in my data set. I need SAS to reference the previous observation and calculate the date of the current observation based on the previous observation.
data Example; set Example1;
If Date = "." then do;
Date = Obs - 1 ....... Date+1;
Run;
Thanks.
Hi
There is a LAG function in SAS that allows you to reference the value of a variable on the previous observation.
It is well documented and works along the lines of
If date = . then date = lag(date) + 1;
Cheers
Chris
Use a retained variable:
data want;
retain previousDate;
set have;
date = coalesce(date, intnx("DAY", previousDate, 1));
previousDate = date;
drop previousDate;
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.
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.