<?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 statement between outer and inner %do loop in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364078#M86302</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I was trying to understand how does the statements between outer and inner %do loop work as this psuedo code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro mac;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ................;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; %do i = 1 %to m;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statement ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; %do j = 1 %to n;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .................;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .................;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ...............;&lt;/P&gt;&lt;P&gt;%mend mac;&lt;/P&gt;</description>
    <pubDate>Sun, 04 Jun 2017 03:27:22 GMT</pubDate>
    <dc:creator>SAS_inquisitive</dc:creator>
    <dc:date>2017-06-04T03:27:22Z</dc:date>
    <item>
      <title>statement between outer and inner %do loop</title>
      <link>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364078#M86302</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I was trying to understand how does the statements between outer and inner %do loop work as this psuedo code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro mac;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ................;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; %do i = 1 %to m;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statement ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; %do j = 1 %to n;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .................;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .................;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ...............;&lt;/P&gt;&lt;P&gt;%mend mac;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Jun 2017 03:27:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364078#M86302</guid>
      <dc:creator>SAS_inquisitive</dc:creator>
      <dc:date>2017-06-04T03:27:22Z</dc:date>
    </item>
    <item>
      <title>Re: statement between outer and inner %do loop</title>
      <link>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364081#M86304</link>
      <description>&lt;P&gt;You're mixing DATA step code and macro language code in a way that will never run. &amp;nbsp;Macro language does not understand that "m" or "n" is a variable in a data set. &amp;nbsp;If you were to correct that by hard-coding a value like 3 or 5 instead of m or n, what happens depends on what the statement is. &amp;nbsp;If it is a macro language&amp;nbsp;statement, it executes for each value of &amp;amp;i, after which the inner loop executes. &amp;nbsp;However, if statement is a DATA step statement (or some other form of SAS code), it gets added to your program as a statement to be executed, for each value of &amp;amp;i. &amp;nbsp;After each addition, the inner loop runs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Mixing DATA step code and macro language code is a common mistake, but without a more specific example it's not possible to guide you in the right direction.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Jun 2017 03:44:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364081#M86304</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-06-04T03:44:25Z</dc:date>
    </item>
    <item>
      <title>Re: statement between outer and inner %do loop</title>
      <link>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364082#M86305</link>
      <description>&lt;P&gt;In your example the macro won't generate anything since N and M are not numbers. &amp;nbsp;I suspect that you meant to use &amp;amp;M and &amp;amp;N instead as the upper bounds for your %DO loops.&lt;/P&gt;
&lt;P&gt;In that case it will generate "statement;" &amp;amp;M times and it&amp;nbsp;will generate the "....;....." statements inside the inner loop &amp;amp;M*&amp;amp;N times.&lt;/P&gt;</description>
      <pubDate>Sun, 04 Jun 2017 03:47:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364082#M86305</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-06-04T03:47:21Z</dc:date>
    </item>
    <item>
      <title>Re: statement between outer and inner %do loop</title>
      <link>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364092#M86312</link>
      <description>&lt;P&gt;Run it, put unique %PUT statements at each level to trace it. Always learn how to trace your code mentally and practically. It's faster to test.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Jun 2017 05:07:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364092#M86312</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-06-04T05:07:39Z</dc:date>
    </item>
    <item>
      <title>Re: statement between outer and inner %do loop</title>
      <link>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364124#M86321</link>
      <description>&lt;P&gt;Yes. I meant &amp;amp;m and &amp;amp;n. Thank you all.&lt;/P&gt;</description>
      <pubDate>Sun, 04 Jun 2017 15:11:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/statement-between-outer-and-inner-do-loop/m-p/364124#M86321</guid>
      <dc:creator>SAS_inquisitive</dc:creator>
      <dc:date>2017-06-04T15:11:38Z</dc:date>
    </item>
  </channel>
</rss>

