data a; input y1-y5; cards; 12 11 16 19 999 data b; retain date; if _n_=1 then do; input month day year @@; date=mdy(month,day,year); end; input Y Z @@; if _n_>1 then date=date+1; format date mmddyy.; cards; 10 28 1987 16 1 19 2 15 3 18 4 21 4 25 3 28 2 26 1 ; proc print data=a; proc print data=b; proc transpose data=a out=aa; var y1-y5; data aa; set aa (rename=(col1=Y)); *drop _name_; date=date+1; retain date '29oct1987'd; proc print data=aa; data both; merge b aa; by date; proc print; run;