<?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: do loop n times in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335927#M272389</link>
    <description>&lt;P&gt;I just copied and hadn't tested your code. Try the following:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data test (keep=i);
  do ii=1 to 100;
    do jj=1 to 25;
      i = put(jj,z2.);
      output;
    end;	
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
    <pubDate>Sat, 25 Feb 2017 23:43:23 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2017-02-25T23:43:23Z</dc:date>
    <item>
      <title>do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335886#M272380</link>
      <description>&lt;P&gt;&amp;nbsp;Hi Team,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to do a "do loops" 3 times with 75 obervations&lt;/P&gt;&lt;P&gt;With my example I am getting from 00 to 24 with 25 observations&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do you know how to do it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
%do i1=0  %to 24 ;
%let i = %sysfunc(putn(&amp;amp;i1,z2.));
%end;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 25 Feb 2017 20:51:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335886#M272380</guid>
      <dc:creator>Jcorti</dc:creator>
      <dc:date>2017-02-25T20:51:50Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335887#M272381</link>
      <description>&lt;P&gt;You're doing nothing besides creating (local) macro variable i1 with value 25 and (local) macro variable i with value 24.&lt;/P&gt;
&lt;P&gt;Since this is obviously only part of your code, as it would not work on its own (%macro and %mend missing), please post your whole code, the log and the expected result.&lt;/P&gt;</description>
      <pubDate>Sat, 25 Feb 2017 20:59:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335887#M272381</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-02-25T20:59:31Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335888#M272382</link>
      <description>&lt;P&gt;What are you trying to do? Your example doesn't produce any records and won't run as it incorporates macro code outside of a macro. &amp;nbsp; If you're trying to create records, you'll have to create and set the value of a variable rather than an a macro variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can always nest loops. e.g.&lt;/P&gt;
&lt;PRE&gt;data test;
  do ii=1 to 3;
    do jj=0  to 24 ;
       i = %sysfunc(putn(jj,z2.));
      output;
    end;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&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>Sat, 25 Feb 2017 21:02:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335888#M272382</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-02-25T21:02:09Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335896#M272383</link>
      <description>&lt;P&gt;this is the output that I need:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;04&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;06&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;07&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;09&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;04&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;06&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;07&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;09&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;04&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;05&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;06&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;07&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;09&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sat, 25 Feb 2017 21:24:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335896#M272383</guid>
      <dc:creator>Jcorti</dc:creator>
      <dc:date>2017-02-25T21:24:09Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335900#M272384</link>
      <description>&lt;P&gt;Then just use something like:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data test (keep=i);;
  do ii=1 to 3;
    do jj=1  to 25 ;
       i = putn(jj,z2.);
      output;
    end;
  end;
run;&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
      <pubDate>Sat, 25 Feb 2017 23:34:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335900#M272384</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-02-25T23:34:24Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335901#M272385</link>
      <description>&lt;P&gt;You have one loop that creates 0 to 24 - you've explicitly put that in your code, if you want 1 to 25 change the values in your %DO/%TO statement.&lt;/P&gt;
&lt;P&gt;If you want it repeated 3 more times, wrap it another loop that goes through three times.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It doesn't make sense with macro variables though becaue the values will get overwritten. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art's code shows the structure you need whether you're using macro's or a data step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You also don't specify what output type you need, a dataset, log output or a displayed report ie in HTML or PDF.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You don't need the %SYSFUNC in Art's code so I removed that.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 25 Feb 2017 21:31:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335901#M272385</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-02-25T21:31:34Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335919#M272386</link>
      <description>&lt;P&gt;3 times is only an example that I need, actually I need 100 times repetead the same loop in order to create the table required with one column like shown above.&lt;/P&gt;&lt;P&gt;I need that table because I will concatenate with another table.&lt;/P&gt;</description>
      <pubDate>Sat, 25 Feb 2017 23:06:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335919#M272386</guid>
      <dc:creator>Jcorti</dc:creator>
      <dc:date>2017-02-25T23:06:34Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335924#M272387</link>
      <description>&lt;P&gt;This worked properly:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test (keep=jj);;
  do ii=1 to 100;
    do jj=1  to 25 ;
      output;
    end;
	
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Why this does not work??&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test (keep=jj);;
  do ii=1 to 100;
    do jj=1  to 25 ;
      i = %sysfunc(putn(jj,z2.));
      output;
    end;
	
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ERROR: Argument 1 to function PUTN referenced by the %SYSFUNC or %QSYSFUNC macro function is not a number.
ERROR: Invalid arguments detected in %SYSCALL, %SYSFUNC, or %QSYSFUNC argument list.  Execution of %SYSCALL statement or %SYSFUNC 
       or %QSYSFUNC function reference is terminated.
43                i = %sysfunc(putn(jj,z2.));
                                            _
                                            22
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, a numeric constant, a datetime constant, 
              a missing value, INPUT, PUT.  &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 25 Feb 2017 23:37:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335924#M272387</guid>
      <dc:creator>Jcorti</dc:creator>
      <dc:date>2017-02-25T23:37:05Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335926#M272388</link>
      <description>&lt;P&gt;So, can we presume that you now have what you needed?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 25 Feb 2017 23:35:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335926#M272388</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-02-25T23:35:12Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335927#M272389</link>
      <description>&lt;P&gt;I just copied and hadn't tested your code. Try the following:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data test (keep=i);
  do ii=1 to 100;
    do jj=1 to 25;
      i = put(jj,z2.);
      output;
    end;	
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
      <pubDate>Sat, 25 Feb 2017 23:43:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/335927#M272389</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-02-25T23:43:23Z</dc:date>
    </item>
    <item>
      <title>Re: do loop n times</title>
      <link>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/336108#M272390</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/129699"&gt;@Jcorti&lt;/a&gt; wrote:&lt;BR /&gt;&lt;BR /&gt;
&lt;P&gt;Why this does not work??&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test (keep=jj);;
  do ii=1 to 100;
    do jj=1  to 25 ;
      i = %sysfunc(putn(jj,z2.));
      output;
    end;
	
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ERROR: Argument 1 to function PUTN referenced by the %SYSFUNC or %QSYSFUNC macro function is not a number.
ERROR: Invalid arguments detected in %SYSCALL, %SYSFUNC, or %QSYSFUNC argument list.  Execution of %SYSCALL statement or %SYSFUNC 
       or %QSYSFUNC function reference is terminated.
43                i = %sysfunc(putn(jj,z2.));
                                            _
                                            22
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, a numeric constant, a datetime constant, 
              a missing value, INPUT, PUT.  &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;%sysfunc is a &lt;U&gt;&lt;STRONG&gt;macro&lt;/STRONG&gt;&lt;/U&gt; function that is resolved by the macro processor before the data step is compiled, so it never has access to data step variable values, only names. The way it's written here, it then tries to run the data step function as&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;putn("jj",z2.)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Since putn expects a numeric value as its first argument -&amp;gt; boom.&lt;/P&gt;
&lt;P&gt;The %sysfunc wrapper was a remnant from your earlier code and should have been removed.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Feb 2017 08:01:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/do-loop-n-times/m-p/336108#M272390</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-02-27T08:01:52Z</dc:date>
    </item>
  </channel>
</rss>

