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 35 36 37 38 39 40 41 42
| %macro _suivi_periode(varA, varB);
%if %substr(&varA.,3,2) ne 01 %then %do; %let varA1 = %eval(&varA.-1); %end;
%else %if %substr(&varA.,3,2) eq 01 %then %do; %let varA1 = %eval(%substr(&varA.,1,2)-1)12; %end;
%if %substr(&varA1.,3,2) ne 01 %then %do; %let varA2 = %eval(&varA1.-1); %end;
%else %if %substr(&varA1.,3,2) eq 01 %then %do; %let varA2 = %eval(%substr(&varA1.,1,2)-1)12; %end;
%if %substr(&varA2.,3,2) ne 01 %then %do; %let varA3 = %eval(&varA2.-1); %end;
%else %if %substr(&varA2.,3,2) eq 01 %then %do; %let varA3 = %eval(%substr(&varA2.,1,2)-1)12; %end;
%if %substr(&varA3.,3,2) ne 01 %then %do; %let varA4 = %eval(&varA3.-1); %end;
%else %if %substr(&varA3.,3,2) eq 01 %then %do; %let varA4 = %eval(%substr(&varA3.,1,2)-1)12; %end;
%if %substr(&varA4.,3,2) ne 01 %then %do; %let varA5 = %eval(&varA4.-1); %end;
%else %if %substr(&varA4.,3,2) eq 01 %then %do; %let varA5 = %eval(%substr(&varA4.,1,2)-1)12; %end;
%let year = 20%substr(&varA., 1, 2);
%if &varB. ne 01 %then %do; %let varB1 = %sysfunc(putn(%eval(&varB.-1), z2.)); %let year1 = &year.; %end;
%else %if &varB. eq 01 %then %do; %let varB1 = 13; %let year1 = %eval(&year.-1); %end;
%if &varB1. ne 01 %then %do; %let varB2 = %sysfunc(putn(%eval(&varB1.-1), z2.)); %let year2 = &year1.; %end;
%else %if &varB1. eq 01 %then %do; %let varB2 = 13; %let year2 = %eval(&year1.-1); %end;
%if &varB2. ne 01 %then %do; %let varB3 = %sysfunc(putn(%eval(&varB2.-1), z2.)); %let year3 = &year2.; %end;
%else %if &varB2. eq 01 %then %do; %let varB3 = 13; %let year3 = %eval(&year2.-1); %end;
%if &varB3. ne 01 %then %do; %let varB4 = %sysfunc(putn(%eval(&varB3.-1), z2.)); %let year4 = &year3.; %end;
%else %if &varB3. eq 01 %then %do; %let varB4 = 13; %let year4 = %eval(&year3.-1); %end;
%if &varB4. ne 01 %then %do; %let varB5 = %sysfunc(putn(%eval(&varB4.-1), z2.)); %let year5 = &year4.; %end;
%else %if &varB4. eq 01 %then %do; %let varB5 = 13; %let year5 = %eval(&year4.-1); %end;
%mend _suivi_periode;
%_suivi_periode(1704, 04); |
Partager