<?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 macro do loop and recursive method in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756392#M238790</link>
    <description>&lt;P&gt;Hi Everyone&lt;/P&gt;&lt;P&gt;Goodmornin&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;macro function &lt;EM&gt;%countdown&lt;/EM&gt; having a numeric parameter and producing the following output in the log :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Countdown 10...&lt;/P&gt;&lt;P&gt;Countdown 9...&lt;/P&gt;&lt;P&gt;Countdown 8...&lt;/P&gt;&lt;P&gt;Countdown 7...&lt;/P&gt;&lt;P&gt;Countdown 6...&lt;/P&gt;&lt;P&gt;Countdown 5...&lt;/P&gt;&lt;P&gt;Countdown 4...&lt;/P&gt;&lt;P&gt;Countdown 3...&lt;/P&gt;&lt;P&gt;Countdown 2...&lt;/P&gt;&lt;P&gt;Countdown 1...&lt;/P&gt;&lt;P&gt;BOOM !!!&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;Using a %do loop&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Using a recursive method&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 24 Jul 2021 06:40:22 GMT</pubDate>
    <dc:creator>pavank</dc:creator>
    <dc:date>2021-07-24T06:40:22Z</dc:date>
    <item>
      <title>macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756392#M238790</link>
      <description>&lt;P&gt;Hi Everyone&lt;/P&gt;&lt;P&gt;Goodmornin&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;macro function &lt;EM&gt;%countdown&lt;/EM&gt; having a numeric parameter and producing the following output in the log :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Countdown 10...&lt;/P&gt;&lt;P&gt;Countdown 9...&lt;/P&gt;&lt;P&gt;Countdown 8...&lt;/P&gt;&lt;P&gt;Countdown 7...&lt;/P&gt;&lt;P&gt;Countdown 6...&lt;/P&gt;&lt;P&gt;Countdown 5...&lt;/P&gt;&lt;P&gt;Countdown 4...&lt;/P&gt;&lt;P&gt;Countdown 3...&lt;/P&gt;&lt;P&gt;Countdown 2...&lt;/P&gt;&lt;P&gt;Countdown 1...&lt;/P&gt;&lt;P&gt;BOOM !!!&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;Using a %do loop&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Using a recursive method&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Jul 2021 06:40:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756392#M238790</guid>
      <dc:creator>pavank</dc:creator>
      <dc:date>2021-07-24T06:40:22Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756394#M238792</link>
      <description>&lt;P&gt;From the lessons in your course, you should be able to do your homework yourself.&lt;/P&gt;
&lt;P&gt;Let us see what you tried.&lt;/P&gt;</description>
      <pubDate>Sat, 24 Jul 2021 06:46:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756394#M238792</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-07-24T06:46:27Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756459#M238832</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data count;

var='countdown';
do i=n to 1 by -1;

put vari;
end;
stop;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Could you please give solution&lt;/P&gt;</description>
      <pubDate>Sun, 25 Jul 2021 09:46:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756459#M238832</guid>
      <dc:creator>pavank</dc:creator>
      <dc:date>2021-07-25T09:46:54Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756462#M238834</link>
      <description>&lt;P&gt;So next, do the same in a macro with a %DO loop and a macro parameter as starting value.&lt;/P&gt;</description>
      <pubDate>Sun, 25 Jul 2021 10:21:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756462#M238834</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-07-25T10:21:21Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756472#M238843</link>
      <description>&lt;P&gt;I didn't get any&amp;nbsp; idea how to do that&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Jul 2021 10:39:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756472#M238843</guid>
      <dc:creator>pavank</dc:creator>
      <dc:date>2021-07-25T10:39:25Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756476#M238845</link>
      <description>&lt;P&gt;Were you sleeping through the course lessons?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Converting a data step loop to a macro loop is dead simple (if you paid any attention).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Jul 2021 10:50:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756476#M238845</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-07-25T10:50:12Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756484#M238850</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro countdown(ds,num);
var='Countdown';
%do i= 10 %to  1 by -1;
output;
end;
stop;
put vari;
run;
%macro;

%countdown(ds,10);
%put(countdown.. &amp;amp;i);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I didn't get output ??&lt;/P&gt;</description>
      <pubDate>Sun, 25 Jul 2021 11:30:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756484#M238850</guid>
      <dc:creator>pavank</dc:creator>
      <dc:date>2021-07-25T11:30:19Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756498#M238854</link>
      <description>&lt;P&gt;please help for solution&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Jul 2021 13:05:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756498#M238854</guid>
      <dc:creator>pavank</dc:creator>
      <dc:date>2021-07-25T13:05:25Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756499#M238855</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro countdown(num);
%do i = &amp;amp;num. %to 1 %by -1;
  %put Countdown &amp;amp;i.;
%end;
%put Boom!;
%mend;

%countdown(10);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Study this closely, so you get a grasp on the very basics of macro programming.&lt;/P&gt;
&lt;P&gt;Next, go searching for the concept of recursion in programming, and see how you can apply it to this task.&lt;/P&gt;</description>
      <pubDate>Sun, 25 Jul 2021 13:18:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756499#M238855</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-07-25T13:18:25Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756500#M238856</link>
      <description>&lt;P&gt;THANK YOU VERY MUCH&amp;nbsp;&lt;/P&gt;&lt;DIV class="sas-author-username"&gt;&lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562" target="_blank" rel="noopener"&gt;&amp;nbsp;KurtBremser&lt;/A&gt;&lt;/DIV&gt;</description>
      <pubDate>Sun, 25 Jul 2021 14:02:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756500#M238856</guid>
      <dc:creator>pavank</dc:creator>
      <dc:date>2021-07-25T14:02:13Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756501#M238857</link>
      <description>&lt;P&gt;There is no recursion in that example.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Jul 2021 14:32:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756501#M238857</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-07-25T14:32:47Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756502#M238858</link>
      <description>&lt;P&gt;Let's breakdown the assignment into parts:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;macro function&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;%countdown&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Sounds like they want to to define a SAS macro named COUNTDOWN. Do you know what statement that is?&lt;/P&gt;
&lt;P&gt;It is strange that they used the term FUNCTION here.&amp;nbsp; Are they trying to say that the macro only generates part of statement so that it can be used in the middle of a statement or expression, like you would use an actual SAS function call?&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;having a numeric parameter&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;SAS parameters are macro variables (or they become macro variables that local to the macro).&amp;nbsp; And macro variables always contain text.&amp;nbsp; I think they mean here that the macro will expect the parameter values to be text strings that SAS code would interpret as numbers.&amp;nbsp; Like 10.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;and producing the following output in the log :&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Countdown 10...&lt;/P&gt;
&lt;P&gt;Countdown 9...&lt;/P&gt;
&lt;P&gt;Countdown 8...&lt;/P&gt;
&lt;P&gt;Countdown 7...&lt;/P&gt;
&lt;P&gt;Countdown 6...&lt;/P&gt;
&lt;P&gt;Countdown 5...&lt;/P&gt;
&lt;P&gt;Countdown 4...&lt;/P&gt;
&lt;P&gt;Countdown 3...&lt;/P&gt;
&lt;P&gt;Countdown 2...&lt;/P&gt;
&lt;P&gt;Countdown 1...&lt;/P&gt;
&lt;P&gt;BOOM !!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Sounds like they want it to ignore the input parameter and always start the countdown at 10.&amp;nbsp; But let's assume that they really wanted the countdown to start with the value of the input parameter.&lt;/P&gt;
&lt;P&gt;You have an answer for a macro that uses a %DO loop.&lt;/P&gt;
&lt;P&gt;How do you think you could do it with recursion?&lt;BR /&gt;Do you know what recursion is?&lt;BR /&gt;Do you know how to program recursion?&amp;nbsp; Hint: make sure that there is a way to prevent the recursion from going on forever.&lt;/P&gt;
&lt;P&gt;When done compare to this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro countdown(start);
%if &amp;amp;start &amp;gt; 0 %then %do;
  %put Countdown &amp;amp;start;
  %countdown(%eval(&amp;amp;start-1))
%end;
%else %put BOOM !!!;
%mend countdown;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI-SPOILER&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Jul 2021 14:46:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756502#M238858</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-07-25T14:46:45Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756509#M238864</link>
      <description>What is recursive method how to do recursive methof using bu above example</description>
      <pubDate>Sun, 25 Jul 2021 16:03:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756509#M238864</guid>
      <dc:creator>pavank</dc:creator>
      <dc:date>2021-07-25T16:03:56Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756510#M238865</link>
      <description>&lt;P&gt;Here is an introduction to the concept of recursion.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.topcoder.com/thrive/articles/An%20Introduction%20to%20Recursion%20Part%20One" target="_blank"&gt;https://www.topcoder.com/thrive/articles/An%20Introduction%20to%20Recursion%20Part%20One&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The SAS solution for your problems looks very much like the first example.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro countdown(start);
%if &amp;amp;start &amp;gt; 0 %then %do;
  %put Countdown &amp;amp;start;
  %countdown(%eval(&amp;amp;start-1))
%end;
%else %put BOOM !!!;
%mend countdown;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 25 Jul 2021 16:31:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756510#M238865</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-07-25T16:31:59Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756571#M238904</link>
      <description>&lt;P&gt;Thank you TOM&lt;/P&gt;</description>
      <pubDate>Mon, 26 Jul 2021 06:35:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/756571#M238904</guid>
      <dc:creator>BrahmanandaRao</dc:creator>
      <dc:date>2021-07-26T06:35:13Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/757752#M239214</link>
      <description>Why by -1 in do loop?</description>
      <pubDate>Wed, 28 Jul 2021 15:23:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/757752#M239214</guid>
      <dc:creator>David_Billa</dc:creator>
      <dc:date>2021-07-28T15:23:05Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/757775#M239226</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/292396"&gt;@David_Billa&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;Why by -1 in do loop?&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If you want a loop to go from 10 to 9 to 8 to ..., what is the increment that gets you from 10 to 9?&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jul 2021 16:14:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/757775#M239226</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2021-07-28T16:14:44Z</dc:date>
    </item>
    <item>
      <title>Re: macro do loop and recursive method</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/757795#M239231</link>
      <description>&lt;P&gt;Because it's a count&lt;STRONG&gt;down.&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jul 2021 16:55:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-and-recursive-method/m-p/757795#M239231</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-07-28T16:55:25Z</dc:date>
    </item>
  </channel>
</rss>

