For this specific id (00029) I have date_B 1999 and 2000 from data B. But as you can see it is not picking this direct match. The one highlighted in yellow should be 1999 and the ones marked with red should be 2001. Earlier, I was trying the following code to get first the easy (or direct) matches where date_A equals date_B. proc sql;
create table A_B as
select *
from
A as a
Join B as b
on
a.Date_A=b.Date_B
and a.id_A=b.id_B;
quit; but then I do not know how to get the ones that does not have direct matches like this. When there is no direct match, then I want to perform the second criteria where I try to find a match within the cycle. Cycles are even numbers (2018, 2016, 2014, 2012, ...etc) each cycle contains two years. For example cycle 2016 contains 2016 and 2015. If Date_A shows 2015 the cycle has to be 2016 and if it shows 2016 the cycle is 2016.
... View more