Hi,
I have a table with patient Id, treatment type, date of first prescription and date of last prescription. I want to create a new column (variable) which will return 1 if the first prescription date plus 30 days overlaps with the last prescription date, otherwise assign it a value of 0. i tried using the retain function but no results. Can you please help me?
Assuming your dates are SAS dates:
overlap = intnx("DAY", date, 30) >= lastdate;
Thank you so much!
they are sas dates and works!
I now noticed that once there is only 1 prescription and no last prescription the overlap is assigned as 1, is there a way to overcome that?
thank you
my code:
data overlap ;
set Rxfinal ;
by id date ;
lagtrt= lag(treatment);
if first.id then lagtrt=treatment;
if not first.id then lagtrt=0 ;
switch = intnx("DAY", date, 30) >= lastdate;
run ;
Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.
Explore Now →SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.
Find more tutorials on the SAS Users YouTube channel.