Search code examples
sas

Compare dates between two datasets


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


Solution

  • 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;