Reputation: 2583
suppose to have the following two datasets:
data Dataset1;
input date1 :date09. date2 :date09.;
format date1 date9. date2 date9.;
cards;
10FEB2014 16FEB2014
10MAR2014 16MAR2014
19MAY2014 25MAY2014
02JUN2014 08JUN2014
;run;
data Dataset2;
input date1 :date09. value;
format date1 date9.;
cards;
12FEB2014 4
11MAR2014 3
24MAY2014 1
07JUN2014 0
;run;
Is there a way to check if date1 of Dataset2 is in the range of date1-date2 of Dataset1, and if yes the value of dataset2 should be putted as variable in dataset1 as follows?
data Dataset3;
input date1 :date09. date2 :date09. value;
format date1 date9. date2 date9.;
cards;
10FEB2014 16FEB2014 4
10MAR2014 16MAR2014 3
19MAY2014 25MAY2014 1
02JUN2014 08JUN2014 0
;run;
Thank you in advance.
Best
Upvotes: 0
Views: 23
Reputation: 2776
PROC SQL should do the trick:
proc sql;
create table Dataset3 as
select d1.*, d2.value
from Dataset1 d1 left join Dataset2 d2
on d2.date1 >= d1.date1 and d2.date1 <= d1.date2
;
quit;
Upvotes: 1