<?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 Index applied to previous row value in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Index-applied-to-previous-row-value/m-p/270281#M53679</link>
    <description>&lt;P&gt;Hello Community,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have been trying for ages to set up a small code to do the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;MyValue&lt;/TD&gt;&lt;TD&gt;Rate_1&lt;/TD&gt;&lt;TD&gt;Rate_2&lt;/TD&gt;&lt;TD&gt;Result_1&lt;/TD&gt;&lt;TD&gt;Want_1&lt;/TD&gt;&lt;TD&gt;Want_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;0.84&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.83076&lt;/TD&gt;&lt;TD&gt;0.8308&lt;/TD&gt;&lt;TD&gt;168,644&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.8216&lt;/TD&gt;&lt;TD&gt;166,789&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.8126&lt;/TD&gt;&lt;TD&gt;164,955&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.8036&lt;/TD&gt;&lt;TD&gt;163,140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;0.82&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.738&lt;/TD&gt;&lt;TD&gt;0.5931&lt;/TD&gt;&lt;TD&gt;120,397&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.5338&lt;/TD&gt;&lt;TD&gt;108,358&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.4804&lt;/TD&gt;&lt;TD&gt;97,522&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.4324&lt;/TD&gt;&lt;TD&gt;87,770&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;0.77&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.76153&lt;/TD&gt;&lt;TD&gt;0.3293&lt;/TD&gt;&lt;TD&gt;66,839&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.3256&lt;/TD&gt;&lt;TD&gt;66,104&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.3221&lt;/TD&gt;&lt;TD&gt;65,377&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.3185&lt;/TD&gt;&lt;TD&gt;64,658&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My big file &amp;nbsp;has values like in Column ID, MyValue, Rate_1, Rate_2.&lt;/P&gt;&lt;P&gt;I need to obtain the colums Want_1 &amp;amp; Want_2; which is:&lt;/P&gt;&lt;P&gt;Result_1 = Rate_1 * Rate_2 (easy to do),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(Want_1,Row_1) = (Result_1,Row_1)&lt;/P&gt;&lt;P&gt;(Want_1,Row_2) =(Want_1,Row_1) * (Result_1,Row_2)&lt;/P&gt;&lt;P&gt;(Want_1,Row_3) =(Want_1,Row_2) * (Result_1,Row_3) and so on...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Indeed is the Calculation of Want_1, which is a consecutive multiplaction of current row of Result_1 with previous row value outcome of Want_1.&lt;/P&gt;&lt;P&gt;Want_2 is simple the multiplication of Want_1 with MyValue, row by row.&lt;/P&gt;&lt;P&gt;I know&amp;nbsp;it can be done totally different a code, but this is way i can interpreate to exaplina my problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I iwll be so greatfull if someone help me to set up a code in SAS, which I need to apply to a large set of data.&lt;/P&gt;&lt;P&gt;Thank you very much&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bernardita&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>Fri, 13 May 2016 07:49:00 GMT</pubDate>
    <dc:creator>Bernardita</dc:creator>
    <dc:date>2016-05-13T07:49:00Z</dc:date>
    <item>
      <title>Index applied to previous row value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Index-applied-to-previous-row-value/m-p/270281#M53679</link>
      <description>&lt;P&gt;Hello Community,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have been trying for ages to set up a small code to do the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;MyValue&lt;/TD&gt;&lt;TD&gt;Rate_1&lt;/TD&gt;&lt;TD&gt;Rate_2&lt;/TD&gt;&lt;TD&gt;Result_1&lt;/TD&gt;&lt;TD&gt;Want_1&lt;/TD&gt;&lt;TD&gt;Want_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;0.84&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.83076&lt;/TD&gt;&lt;TD&gt;0.8308&lt;/TD&gt;&lt;TD&gt;168,644&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.8216&lt;/TD&gt;&lt;TD&gt;166,789&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.8126&lt;/TD&gt;&lt;TD&gt;164,955&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.8036&lt;/TD&gt;&lt;TD&gt;163,140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;0.82&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.738&lt;/TD&gt;&lt;TD&gt;0.5931&lt;/TD&gt;&lt;TD&gt;120,397&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.5338&lt;/TD&gt;&lt;TD&gt;108,358&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.4804&lt;/TD&gt;&lt;TD&gt;97,522&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.9&lt;/TD&gt;&lt;TD&gt;0.4324&lt;/TD&gt;&lt;TD&gt;87,770&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;0.77&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.76153&lt;/TD&gt;&lt;TD&gt;0.3293&lt;/TD&gt;&lt;TD&gt;66,839&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.3256&lt;/TD&gt;&lt;TD&gt;66,104&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.3221&lt;/TD&gt;&lt;TD&gt;65,377&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;203,000&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.989&lt;/TD&gt;&lt;TD&gt;0.3185&lt;/TD&gt;&lt;TD&gt;64,658&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My big file &amp;nbsp;has values like in Column ID, MyValue, Rate_1, Rate_2.&lt;/P&gt;&lt;P&gt;I need to obtain the colums Want_1 &amp;amp; Want_2; which is:&lt;/P&gt;&lt;P&gt;Result_1 = Rate_1 * Rate_2 (easy to do),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(Want_1,Row_1) = (Result_1,Row_1)&lt;/P&gt;&lt;P&gt;(Want_1,Row_2) =(Want_1,Row_1) * (Result_1,Row_2)&lt;/P&gt;&lt;P&gt;(Want_1,Row_3) =(Want_1,Row_2) * (Result_1,Row_3) and so on...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Indeed is the Calculation of Want_1, which is a consecutive multiplaction of current row of Result_1 with previous row value outcome of Want_1.&lt;/P&gt;&lt;P&gt;Want_2 is simple the multiplication of Want_1 with MyValue, row by row.&lt;/P&gt;&lt;P&gt;I know&amp;nbsp;it can be done totally different a code, but this is way i can interpreate to exaplina my problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I iwll be so greatfull if someone help me to set up a code in SAS, which I need to apply to a large set of data.&lt;/P&gt;&lt;P&gt;Thank you very much&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bernardita&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>Fri, 13 May 2016 07:49:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Index-applied-to-previous-row-value/m-p/270281#M53679</guid>
      <dc:creator>Bernardita</dc:creator>
      <dc:date>2016-05-13T07:49:00Z</dc:date>
    </item>
    <item>
      <title>Re: Index applied to previous row value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Index-applied-to-previous-row-value/m-p/270287#M53682</link>
      <description>&lt;P&gt;You can use the RETAIN function to hold the value across rows.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm surprised ID doesn't come into play somehow.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data want;
set have;
by ID;
retain want1 1;
result1=rate1*rate2;

*if first.ID then want1=1;
want1=want1*result1;

want2=want1*myvalue;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 13 May 2016 08:22:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Index-applied-to-previous-row-value/m-p/270287#M53682</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-05-13T08:22:50Z</dc:date>
    </item>
    <item>
      <title>Re: Index applied to previous row value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Index-applied-to-previous-row-value/m-p/270295#M53684</link>
      <description>&lt;P&gt;Thank you very much for your help.&lt;/P&gt;&lt;P&gt;Yes its true. ID does come into play. But I wanted to make the problem simpler by puting into place the Rate_1 &amp;amp; Rate_2&amp;nbsp;that step before. I will ask another question later in the community regarding placing Rate_1 &amp;amp; Rate_2 in place. &amp;nbsp;Which is at the point ID changes. Rate_1 goes at First ID and later as equal to&amp;nbsp;one. Rate_2 goes at the First ID but its repeated until ID changes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;TRhank you very much Reeza for your help.&lt;/P&gt;&lt;P&gt;Bernardita&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 May 2016 09:14:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Index-applied-to-previous-row-value/m-p/270295#M53684</guid>
      <dc:creator>Bernardita</dc:creator>
      <dc:date>2016-05-13T09:14:28Z</dc:date>
    </item>
  </channel>
</rss>

