<?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 while loop in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Do-while-loop/m-p/434806#M107946</link>
    <description>&lt;P&gt;Do by-group-processing and add this in the data step:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;output;
if last.user
then do while (new_month &amp;lt; '201801');
  new_month = /* next month to be calculated according to the values; with SAS dates, use the intnx() function */;
  output;
end;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 07 Feb 2018 10:53:18 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2018-02-07T10:53:18Z</dc:date>
    <item>
      <title>Do while loop</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-while-loop/m-p/434797#M107940</link>
      <description>&lt;P&gt;good day I have a data set below that has user_no (there could be multiple user use_no with different dates)&lt;/P&gt;
&lt;P&gt;I want to create a loop that adds a maximum date unitl 201802 for eg:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if the last date for user 123 is 201711 I want the loop the add 201712 / 201801 / 201802&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the data looks below :&amp;nbsp; I have not attempted the code :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="244"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="111"&gt;user_no&lt;/TD&gt;
&lt;TD width="49"&gt;month&lt;/TD&gt;
&lt;TD width="84"&gt;New_month&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201505&lt;/TD&gt;
&lt;TD&gt;201505&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201506&lt;/TD&gt;
&lt;TD&gt;201506&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201507&lt;/TD&gt;
&lt;TD&gt;201507&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201508&lt;/TD&gt;
&lt;TD&gt;201508&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201509&lt;/TD&gt;
&lt;TD&gt;201509&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201510&lt;/TD&gt;
&lt;TD&gt;201510&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201511&lt;/TD&gt;
&lt;TD&gt;201511&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201512&lt;/TD&gt;
&lt;TD&gt;201512&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201601&lt;/TD&gt;
&lt;TD&gt;201601&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201602&lt;/TD&gt;
&lt;TD&gt;201602&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201603&lt;/TD&gt;
&lt;TD&gt;201603&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201604&lt;/TD&gt;
&lt;TD&gt;201604&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201605&lt;/TD&gt;
&lt;TD&gt;201605&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201606&lt;/TD&gt;
&lt;TD&gt;201606&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;201607&lt;/TD&gt;
&lt;TD&gt;201607&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;201608&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;201609&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;201610&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;""&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;""&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;""&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;""&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;"'&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;201802&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Wed, 07 Feb 2018 10:02:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-while-loop/m-p/434797#M107940</guid>
      <dc:creator>EMC9</dc:creator>
      <dc:date>2018-02-07T10:02:53Z</dc:date>
    </item>
    <item>
      <title>Re: Do while loop</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-while-loop/m-p/434806#M107946</link>
      <description>&lt;P&gt;Do by-group-processing and add this in the data step:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;output;
if last.user
then do while (new_month &amp;lt; '201801');
  new_month = /* next month to be calculated according to the values; with SAS dates, use the intnx() function */;
  output;
end;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 07 Feb 2018 10:53:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-while-loop/m-p/434806#M107946</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-02-07T10:53:18Z</dc:date>
    </item>
    <item>
      <title>Re: Do while loop</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-while-loop/m-p/439187#M109560</link>
      <description>thank you.</description>
      <pubDate>Thu, 22 Feb 2018 07:29:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-while-loop/m-p/439187#M109560</guid>
      <dc:creator>EMC9</dc:creator>
      <dc:date>2018-02-22T07:29:30Z</dc:date>
    </item>
  </channel>
</rss>

