<?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: sas dataset loop to calculate new rows in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/sas-dataset-loop-to-calculate-new-rows/m-p/695730#M212347</link>
    <description>&lt;PRE&gt;data want;
 x=1;y=0;z=x+y;output;
 do i=1 to 10;
   x=z;y=y+1;z=x+y;output;
 end;
 drop i;
run;

proc print;run;&lt;/PRE&gt;</description>
    <pubDate>Sun, 01 Nov 2020 09:07:56 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2020-11-01T09:07:56Z</dc:date>
    <item>
      <title>sas dataset loop to calculate new rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/sas-dataset-loop-to-calculate-new-rows/m-p/695678#M212323</link>
      <description>&lt;P&gt;HI,&lt;/P&gt;
&lt;P&gt;I have the below requirement and wondering if this can be implemented in simple datastep loop:&lt;/P&gt;
&lt;P&gt;will be starting with a simple dataset with two variable&lt;/P&gt;
&lt;P&gt;input:&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 96pt;" border="0" width="128" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD width="64" height="20" class="xl63" style="height: 15.0pt; width: 48pt;"&gt;x&lt;/TD&gt;
&lt;TD width="64" class="xl63" style="width: 48pt;"&gt;y&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" class="xl63" style="height: 15.0pt;"&gt;1&lt;/TD&gt;
&lt;TD class="xl63"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;logic:&lt;/P&gt;
&lt;TABLE width="207"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;x&lt;/TD&gt;
&lt;TD width="79"&gt;y&lt;/TD&gt;
&lt;TD width="64"&gt;z&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;x+y&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;prev z&lt;/TD&gt;
&lt;TD&gt;prev y +1&lt;/TD&gt;
&lt;TD&gt;x+y&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;prev z&lt;/TD&gt;
&lt;TD&gt;prev y +1&lt;/TD&gt;
&lt;TD&gt;x+y&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;desired output:&lt;/P&gt;
&lt;TABLE width="207"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;x&lt;/TD&gt;
&lt;TD width="79"&gt;y&lt;/TD&gt;
&lt;TD width="64"&gt;z&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Sat, 31 Oct 2020 19:07:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/sas-dataset-loop-to-calculate-new-rows/m-p/695678#M212323</guid>
      <dc:creator>koya</dc:creator>
      <dc:date>2020-10-31T19:07:09Z</dc:date>
    </item>
    <item>
      <title>Re: sas dataset loop to calculate new rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/sas-dataset-loop-to-calculate-new-rows/m-p/695681#M212326</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21981"&gt;@koya&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21981"&gt;@koya&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;... wondering if this can be implemented in simple datastep loop&lt;/SPAN&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Yes, this is possible. Wondering why you don't just start writing that data step.&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
x=1; y=0;
run;

data want;
set have;
do _n_=1 to 5;
  z=x+y;
  output;
  x=z; y+1;
end;
run;

/* Or even simpler: */

data want;
set have;
do y=y to 4;
  z=x+y;
  output;
  x=z;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/LI-SPOILER&gt;</description>
      <pubDate>Sat, 31 Oct 2020 19:55:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/sas-dataset-loop-to-calculate-new-rows/m-p/695681#M212326</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2020-10-31T19:55:16Z</dc:date>
    </item>
    <item>
      <title>Re: sas dataset loop to calculate new rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/sas-dataset-loop-to-calculate-new-rows/m-p/695730#M212347</link>
      <description>&lt;PRE&gt;data want;
 x=1;y=0;z=x+y;output;
 do i=1 to 10;
   x=z;y=y+1;z=x+y;output;
 end;
 drop i;
run;

proc print;run;&lt;/PRE&gt;</description>
      <pubDate>Sun, 01 Nov 2020 09:07:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/sas-dataset-loop-to-calculate-new-rows/m-p/695730#M212347</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2020-11-01T09:07:56Z</dc:date>
    </item>
  </channel>
</rss>

