NewUsr_stat
NewUsr_stat

Reputation: 2583

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

Upvotes: 0

Views: 23

Answers (1)

shaun_m
shaun_m

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

Related Questions