from startm (starting month) to the endm (end month), and another month of lag 6.
It does not work for the lag of other numbers.
I am sure you can make it works when puting in the data step and proc steps.
- %macro loopmonth(startm,lag, endm);
- %do m1 = &startm %to &endm;
- %if %substr(&m1, 5,2) = 13 %then
- %let m1=%eval(%substr(&m1, 1,4)+1)01;
- %if %substr(&m1,5,2) > &lag %then %do;
- %let tmp=%eval(%substr(&m1,5, 2) + &lag -12);
- %let tmp = %sysfunc(putn(&tmp,z2.));
- %let m2=%eval(%substr(&m1,1,4)+1)&tmp; %end;
- %else %if %substr(&m1, 5, 2) le &lag %then %let m2=%eval(&m1+&lag);
- %* put your data-step and procs here;
- %put RFile=R&m1..xls RRData=RR&m1 HFile=H&m2..xls HHData=HH&m2 ;
- %end;
- %mend;
- %loopmonth(192701, 6, 192912);
583 %macro loopmonth(startm, lag, endm);
584
585 %do m1 = &startm %to &endm;
586 %if %substr(&m1, 5,2) = 13 %then
587 %let m1=%eval(%substr(&m1, 1,4)+1)01;
588
589 %if %substr(&m1,5,2) > &lag %then %do;
590 %let tmp=%eval(%substr(&m1,5, 2) + &lag -12);
591 %let tmp = %sysfunc(putn(&tmp,z2.));
592 %let m2=%eval(%substr(&m1,1,4)+1)&tmp; %end;
593 %else %if %substr(&m1, 5, 2) le &lag %then %let m2=%eval(&m1+&lag);
594
595 %* put your data-step and procs here;
596 %put RFile=R&m1..xls RRData=RR&m1 HFile=H&m2..xls HHData=HH&m2 ;
597
598 %end;
599 %mend;
600 %loopmonth(192701, 6, 192912);
RFile=R192701.xls RRData=RR192701 HFile=H192707.xls HHData=HH192707
RFile=R192702.xls RRData=RR192702 HFile=H192708.xls HHData=HH192708
RFile=R192703.xls RRData=RR192703 HFile=H192709.xls HHData=HH192709
RFile=R192704.xls RRData=RR192704 HFile=H192710.xls HHData=HH192710
RFile=R192705.xls RRData=RR192705 HFile=H192711.xls HHData=HH192711
RFile=R192706.xls RRData=RR192706 HFile=H192712.xls HHData=HH192712
RFile=R192707.xls RRData=RR192707 HFile=H192801.xls HHData=HH192801
RFile=R192708.xls RRData=RR192708 HFile=H192802.xls HHData=HH192802
RFile=R192709.xls RRData=RR192709 HFile=H192803.xls HHData=HH192803
RFile=R192710.xls RRData=RR192710 HFile=H192804.xls HHData=HH192804
RFile=R192711.xls RRData=RR192711 HFile=H192805.xls HHData=HH192805
RFile=R192712.xls RRData=RR192712 HFile=H192806.xls HHData=HH192806
RFile=R192801.xls RRData=RR192801 HFile=H192807.xls HHData=HH192807
RFile=R192802.xls RRData=RR192802 HFile=H192808.xls HHData=HH192808
RFile=R192803.xls RRData=RR192803 HFile=H192809.xls HHData=HH192809
RFile=R192804.xls RRData=RR192804 HFile=H192810.xls HHData=HH192810
RFile=R192805.xls RRData=RR192805 HFile=H192811.xls HHData=HH192811
RFile=R192806.xls RRData=RR192806 HFile=H192812.xls HHData=HH192812
RFile=R192807.xls RRData=RR192807 HFile=H192901.xls HHData=HH192901
RFile=R192808.xls RRData=RR192808 HFile=H192902.xls HHData=HH192902
RFile=R192809.xls RRData=RR192809 HFile=H192903.xls HHData=HH192903
RFile=R192810.xls RRData=RR192810 HFile=H192904.xls HHData=HH192904
RFile=R192811.xls RRData=RR192811 HFile=H192905.xls HHData=HH192905
RFile=R192812.xls RRData=RR192812 HFile=H192906.xls HHData=HH192906
RFile=R192901.xls RRData=RR192901 HFile=H192907.xls HHData=HH192907
RFile=R192902.xls RRData=RR192902 HFile=H192908.xls HHData=HH192908
RFile=R192903.xls RRData=RR192903 HFile=H192909.xls HHData=HH192909
RFile=R192904.xls RRData=RR192904 HFile=H192910.xls HHData=HH192910
RFile=R192905.xls RRData=RR192905 HFile=H192911.xls HHData=HH192911
RFile=R192906.xls RRData=RR192906 HFile=H192912.xls HHData=HH192912
RFile=R192907.xls RRData=RR192907 HFile=H193001.xls HHData=HH193001
RFile=R192908.xls RRData=RR192908 HFile=H193002.xls HHData=HH193002
RFile=R192909.xls RRData=RR192909 HFile=H193003.xls HHData=HH193003
RFile=R192910.xls RRData=RR192910 HFile=H193004.xls HHData=HH193004
RFile=R192911.xls RRData=RR192911 HFile=H193005.xls HHData=HH193005
RFile=R192912.xls RRData=RR192912 HFile=H193006.xls HHData=HH193006


雷达卡




京公网安备 11010802022788号







