<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Run series of macros from date1 until date2 in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Run-series-of-macros-from-date1-until-date2/m-p/681848#M206311</link>
    <description>&lt;P&gt;Two nested %DO loops:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro outer;
%do loopdate = %sysfunc(inputn(20200823,yymmdd8.)) %to %sysfunc(inputn(20200905,yymmdd8.));
  %do i = 1 %to 10;
    %mmacro(date=&amp;amp;loopdate.,cat=X&amp;amp;i.,ffmt=FF&amp;amp;i.F.);
  %end;
%end;
%mend;
%outer&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sun, 06 Sep 2020 06:29:16 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2020-09-06T06:29:16Z</dc:date>
    <item>
      <title>Run series of macros from date1 until date2</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Run-series-of-macros-from-date1-until-date2/m-p/681845#M206310</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;
&lt;P&gt;I need to Run series of macros for each date from 23AUG2020 until 05SEP2020.&lt;/P&gt;
&lt;P&gt;What is the way to perform it with minimum code length?&lt;/P&gt;
&lt;P&gt;One more issue that the the dates of running will not include Saturday and Sunday because it is not&amp;nbsp; business days&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
%MMacro(date='23AUG2020'd,CAT=X1,Ffmt=FF1F.);
%MMacro(date='23AUG2020'd,CAT=X2,Ffmt=FF2F.);
%MMacro(date='23AUG2020'd,CAT=X3,Ffmt=FF3F.);
%MMacro(date='23AUG2020'd,CAT=X4,Ffmt=FF4F.);
%MMacro(date='23AUG2020'd,CAT=X5,Ffmt=FF5F.);
%MMacro(date='23AUG2020'd,CAT=X6,Ffmt=FF6F.);
%MMacro(date='23AUG2020'd,CAT=X7,Ffmt=FF7F.);
%MMacro(date='23AUG2020'd,CAT=X8,Ffmt=FF8F.);
%MMacro(date='23AUG2020'd,CAT=X9,Ffmt=FF9F.);
%MMacro(date='23AUG2020'd,CAT=X10,Ffmt=FF10F.);


%MMacro(date='24AUG2020'd,CAT=X1,Ffmt=FF1F.);
%MMacro(date='24AUG2020'd,CAT=X2,Ffmt=FF2F.);
%MMacro(date='24AUG2020'd,CAT=X3,Ffmt=FF3F.);
%MMacro(date='24AUG2020'd,CAT=X4,Ffmt=FF4F.);
%MMacro(date='24AUG2020'd,CAT=X5,Ffmt=FF5F.);
%MMacro(date='24AUG2020'd,CAT=X6,Ffmt=FF6F.);
%MMacro(date='24AUG2020'd,CAT=X7,Ffmt=FF7F.);
%MMacro(date='24AUG2020'd,CAT=X8,Ffmt=FF8F.);
%MMacro(date='24AUG2020'd,CAT=X9,Ffmt=FF9F.);
%MMacro(date='24AUG2020'd,CAT=X10,Ffmt=FF10F.);


 until

%MMacro(date='05SEP2020'd,CAT=X1,Ffmt=FF1F.);
%MMacro(date='05SEP2020'd,CAT=X2,Ffmt=FF2F.);
%MMacro(date='05SEP2020'd,CAT=X3,Ffmt=FF3F.);
%MMacro(date='05SEP2020'd,CAT=X4,Ffmt=FF4F.);
%MMacro(date='05SEP2020'd,CAT=X5,Ffmt=FF5F.);
%MMacro(date='05SEP2020'd,CAT=X6,Ffmt=FF6F.);
%MMacro(date='05SEP2020'd,CAT=X7,Ffmt=FF7F.);
%MMacro(date='05SEP2020'd,CAT=X8,Ffmt=FF8F.);
%MMacro(date='05SEP2020'd,CAT=X9,Ffmt=FF9F.);
%MMacro(date='05SEP2020'd,CAT=X10,Ffmt=FF10F.);


 &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 06 Sep 2020 05:23:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Run-series-of-macros-from-date1-until-date2/m-p/681845#M206310</guid>
      <dc:creator>Ronein</dc:creator>
      <dc:date>2020-09-06T05:23:34Z</dc:date>
    </item>
    <item>
      <title>Re: Run series of macros from date1 until date2</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Run-series-of-macros-from-date1-until-date2/m-p/681848#M206311</link>
      <description>&lt;P&gt;Two nested %DO loops:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro outer;
%do loopdate = %sysfunc(inputn(20200823,yymmdd8.)) %to %sysfunc(inputn(20200905,yymmdd8.));
  %do i = 1 %to 10;
    %mmacro(date=&amp;amp;loopdate.,cat=X&amp;amp;i.,ffmt=FF&amp;amp;i.F.);
  %end;
%end;
%mend;
%outer&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 06 Sep 2020 06:29:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Run-series-of-macros-from-date1-until-date2/m-p/681848#M206311</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-06T06:29:16Z</dc:date>
    </item>
    <item>
      <title>Re: Run series of macros from date1 until date2</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Run-series-of-macros-from-date1-until-date2/m-p/681893#M206338</link>
      <description>&lt;P&gt;Another approach -- using the data step routine to loop through the date range and inner-loop (1-10) range and call the execute routine to invoke the macro.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;*Table to show the macro parameters;
proc sql;
	create table temp 
	(
		DATE char(12),
		CAT char(3),
		FFmt char(6)
	);
quit;

*Dummy macro definition that inserts the macro parameters into the temp table;
%macro MMacro(date=,CAT=,Ffmt=);
	proc sql;
		insert into temp
		values ("&amp;amp;date","&amp;amp;cat","&amp;amp;ffmt");
	;quit;
%mend;

*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
*User input macro variables;
%let sdt = 23AUG2020;
%let edt = 05SEP2020;
%let inner_loops = 10;

*Loop through date range and number of inner_loops;
data _null_;
	format i date9.;
	day_cnt=0;

	do until(i&amp;gt;="&amp;amp;edt"d);
		n_cnt=1;
		i=intnx('day', "&amp;amp;sdt"d, day_cnt);

		do j=1 to &amp;amp;inner_loops;
			str=cats('%MMacro(date=', cats("'", put(i, date9.), "'d"), ',CAT=X', n_cnt,',Ffmt=FF', n_cnt, 'F.);'); *&amp;lt;---- Build the command;
			call execute(str); *&amp;lt;---- Execute the "str" command;
			n_cnt+1;
		end;
		day_cnt+1;
	end;
run;

*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
*Check all of the macro parameter values that were used;
proc print data=temp;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 06 Sep 2020 17:50:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Run-series-of-macros-from-date1-until-date2/m-p/681893#M206338</guid>
      <dc:creator>unison</dc:creator>
      <dc:date>2020-09-06T17:50:32Z</dc:date>
    </item>
  </channel>
</rss>

