1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| data test;
input contrat $ var2 (date_deb date_fin)(:date9.);
format date_deb date_fin date9.;
cards;
A1 2015 02FEB2015 15DEC2015
A2 2016 05Jun2016 25NOV2017
;run;
data test1(keep=contrat annee date_deb date_fin date_deb1 date_fin1);
retain contrat annee date_deb date_fin date_deb1 date_fin1;
set test;
retain date_deb date_fin;
format date_deb date_deb1 date_fin date_fin1 date9.;
datef=intck('year',date_deb,date_fin);
an=year(date_deb);
an1=year(date_fin);
if datef=0 then do
date_fin1=date_fin;
date_deb1=date_deb;
annee=year(date_deb1);
output;
end;
if datef=1 then do;
date_fin1=mdy(12,31,an);
date_deb1=date_deb;
annee=year(date_deb1);
output;
date_deb1=mdy(01,01,an1);
date_fin1=date_fin;
annee=year(date_deb1);
output;
end;
run; |
Partager