Like this?
data HAVE;
input D mmddyy10.;
cards;
12/16/2016
12/23/2016
12/30/2016
01/06/2017
run;
data WANT;
set HAVE;
CURRENT=D;
D=lag(D);
if _N_>1 then do D1=D to CURRENT-1;
output;
end;
keep D D1;
run;
proc print;
format D D1 date9.;
run;
Obs
D
D1
1
16DEC2016
16DEC2016
2
16DEC2016
17DEC2016
3
16DEC2016
18DEC2016
4
16DEC2016
19DEC2016
5
16DEC2016
20DEC2016
6
16DEC2016
21DEC2016
7
16DEC2016
22DEC2016
8
23DEC2016
23DEC2016
9
23DEC2016
24DEC2016
10
23DEC2016
25DEC2016
11
23DEC2016
26DEC2016
12
23DEC2016
27DEC2016
13
23DEC2016
28DEC2016
14
23DEC2016
29DEC2016
15
30DEC2016
30DEC2016
16
30DEC2016
31DEC2016
17
30DEC2016
01JAN2017
18
30DEC2016
02JAN2017
19
30DEC2016
03JAN2017
20
30DEC2016
04JAN2017
21
30DEC2016
05JAN2017
... View more