Hello,
I tried to join two tables using left join, which is a one to mutiple joins based on the two conditions, however the date condition was not applied. I am wondering what is the reason. Thank you !
proc sql;
create table temp1 as
select a.PatientID, a.AdministeredDate,
b.TestDate, b.TestResult, (a.AdministeredDate -b.testdate) as dif_admin_test
from admindate as a
left join wgt as b
on a.patientid = b.patientid and (a.AdministeredDate -b.testdate) <= 7
order by patientid, AdministeredDate, TestDate;
quit;
What makes you believe the data condition was not applied? Provide some example input data that duplicates the behavior.
You may be interested in attempting this:
proc sql;
create table temp1 as
select a.PatientID, a.AdministeredDate,
b.TestDate, b.TestResult, (a.AdministeredDate -b.testdate) as dif_admin_test
from admindate as a
left join wgt as b
on a.patientid = b.patientid
where a.AdministeredDate -b.testdate <= 7
order by patientid, AdministeredDate, TestDate;
quit;
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 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.