<?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 Cummulative multiplication in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Cummulative-multiplication/m-p/647065#M193610</link>
    <description>Hello&lt;BR /&gt;I am trying to perform  cumulative  multilplication calculation  between rows.&lt;BR /&gt;Data tbl.&lt;BR /&gt;Input p:&lt;BR /&gt;Cards:&lt;BR /&gt;0.99&lt;BR /&gt;0.97&lt;BR /&gt;0.95&lt;BR /&gt;;&lt;BR /&gt;Ron;&lt;BR /&gt;&lt;BR /&gt;Data tbl2;&lt;BR /&gt;Set tbl1;&lt;BR /&gt;Retain cum_p,&lt;BR /&gt;If first.p then cum_p=p;&lt;BR /&gt;Else cum_p=cum_p*p;&lt;BR /&gt;Run;&lt;BR /&gt;</description>
    <pubDate>Tue, 12 May 2020 11:47:06 GMT</pubDate>
    <dc:creator>Ronein</dc:creator>
    <dc:date>2020-05-12T11:47:06Z</dc:date>
    <item>
      <title>Cummulative multiplication</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Cummulative-multiplication/m-p/647065#M193610</link>
      <description>Hello&lt;BR /&gt;I am trying to perform  cumulative  multilplication calculation  between rows.&lt;BR /&gt;Data tbl.&lt;BR /&gt;Input p:&lt;BR /&gt;Cards:&lt;BR /&gt;0.99&lt;BR /&gt;0.97&lt;BR /&gt;0.95&lt;BR /&gt;;&lt;BR /&gt;Ron;&lt;BR /&gt;&lt;BR /&gt;Data tbl2;&lt;BR /&gt;Set tbl1;&lt;BR /&gt;Retain cum_p,&lt;BR /&gt;If first.p then cum_p=p;&lt;BR /&gt;Else cum_p=cum_p*p;&lt;BR /&gt;Run;&lt;BR /&gt;</description>
      <pubDate>Tue, 12 May 2020 11:47:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Cummulative-multiplication/m-p/647065#M193610</guid>
      <dc:creator>Ronein</dc:creator>
      <dc:date>2020-05-12T11:47:06Z</dc:date>
    </item>
    <item>
      <title>Re: Cummulative multiplication</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Cummulative-multiplication/m-p/647066#M193611</link>
      <description>&lt;P&gt;Change the logic&lt;/P&gt;
&lt;PRE&gt;if first.p&lt;/PRE&gt;
&lt;P&gt;to&lt;/P&gt;
&lt;PRE&gt;if _N_ = 1&lt;/PRE&gt;
&lt;P&gt;You have a couple typo errors&amp;nbsp; (dot, colon, comma) where semi-colons should be, so I guess the code is untested.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 May 2020 11:54:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Cummulative-multiplication/m-p/647066#M193611</guid>
      <dc:creator>RichardDeVen</dc:creator>
      <dc:date>2020-05-12T11:54:27Z</dc:date>
    </item>
    <item>
      <title>Re: Cummulative multiplication</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Cummulative-multiplication/m-p/647067#M193612</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159549"&gt;@Ronein&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You cannot use first.p as you have not defined p as a group variable in a BY statement.&lt;/P&gt;
&lt;P&gt;See the log:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; NOTE: Variable first.p is uninitialized.&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Please try "if _n_=1 then ..." instead:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data tbl2;
Set tbl1;
Retain cum_p;
If _n_=1 then cum_p=p;
Else cum_p=cum_p*p;
Run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Best,&lt;/P&gt;</description>
      <pubDate>Tue, 12 May 2020 11:56:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Cummulative-multiplication/m-p/647067#M193612</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-05-12T11:56:00Z</dc:date>
    </item>
    <item>
      <title>Re: Cummulative multiplication</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Cummulative-multiplication/m-p/647077#M193617</link>
      <description>&lt;P&gt;Testing data step code for example data is not a crime, it is a necessity and a sign of good manners.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can have it much easier by initializing the retained variable to 1:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input p;
cards;
0.99
0.97
0.95
;

data want;
set have;
retain cum_p 1;
cum_p = cum_p * p;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 12 May 2020 12:55:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Cummulative-multiplication/m-p/647077#M193617</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-05-12T12:55:24Z</dc:date>
    </item>
  </channel>
</rss>

