<?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: Need help in multiplying data! in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505951#M135556</link>
    <description>Thanks for your quick response! Brilliant solution!</description>
    <pubDate>Fri, 19 Oct 2018 14:35:25 GMT</pubDate>
    <dc:creator>bd_user_10</dc:creator>
    <dc:date>2018-10-19T14:35:25Z</dc:date>
    <item>
      <title>Need help in multiplying data!</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505927#M135544</link>
      <description>&lt;P&gt;Hi Everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have the following data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;isin&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;ret&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/02/1995&lt;/TD&gt;&lt;TD&gt;1.013928&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/02/1995&lt;/TD&gt;&lt;TD&gt;1.007988&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/02/1995&lt;/TD&gt;&lt;TD&gt;0.996195&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/02/1995&lt;/TD&gt;&lt;TD&gt;1.023262&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/02/1995&lt;/TD&gt;&lt;TD&gt;1.026184&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/03/1995&lt;/TD&gt;&lt;TD&gt;0.98583&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/03/1995&lt;/TD&gt;&lt;TD&gt;0.95632&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/03/1995&lt;/TD&gt;&lt;TD&gt;1.01366&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/03/1995&lt;/TD&gt;&lt;TD&gt;1.042607&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/03/1995&lt;/TD&gt;&lt;TD&gt;1.001514&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000103&lt;/TD&gt;&lt;TD&gt;7/12/2005&lt;/TD&gt;&lt;TD&gt;1.000492&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000103&lt;/TD&gt;&lt;TD&gt;7/12/2005&lt;/TD&gt;&lt;TD&gt;0.999837&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000103&lt;/TD&gt;&lt;TD&gt;7/12/2005&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;0.993036&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and I would like to get the following output&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;isin&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;ret&lt;/TD&gt;&lt;TD&gt;ret1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/02/1995&lt;/TD&gt;&lt;TD&gt;1.026184&lt;/TD&gt;&lt;TD&gt;1.069102&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000012&lt;/TD&gt;&lt;TD&gt;9/03/1995&lt;/TD&gt;&lt;TD&gt;1.001514&lt;/TD&gt;&lt;TD&gt;0.997873&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;FI0009000103&lt;/TD&gt;&lt;TD&gt;7/12/2005&lt;/TD&gt;&lt;TD&gt;0.993036&lt;/TD&gt;&lt;TD&gt;0.993362&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;where ret1&amp;nbsp;is calculated based on isin and date. For each isin and date, I need to multiply all relevant ret.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example; the first ret1 for isin FI0009000012 with date 9/02/1995 is calculated as following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ret1 = 1.013928*1.007988*0.996195*1.023262*1.026184 = 1.069102&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have many firms in the dataset. Can anyone please help?&lt;/P&gt;</description>
      <pubDate>Fri, 19 Oct 2018 14:06:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505927#M135544</guid>
      <dc:creator>bd_user_10</dc:creator>
      <dc:date>2018-10-19T14:06:21Z</dc:date>
    </item>
    <item>
      <title>Re: Need help in multiplying data!</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505935#M135546</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards expandtabs;
input isin	: $40. date : mmddyy12.	ret;
format date mmddyy10.;
cards;
FI0009000012	9/02/1995	1.013928
FI0009000012	9/02/1995	1.007988
FI0009000012	9/02/1995	0.996195
FI0009000012	9/02/1995	1.023262
FI0009000012	9/02/1995	1.026184
FI0009000012	9/03/1995	0.98583
FI0009000012	9/03/1995	0.95632
FI0009000012	9/03/1995	1.01366
FI0009000012	9/03/1995	1.042607
FI0009000012	9/03/1995	1.001514
FI0009000103	7/12/2005	1.000492
FI0009000103	7/12/2005	0.999837
FI0009000103	7/12/2005	0.993036
;
data want;
 set have;
 by isin date;
 retain ret1;
 if first.date then ret1=1;
 ret1=ret1*ret;
 if last.date;
run;
proc print;run;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 19 Oct 2018 14:18:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505935#M135546</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-10-19T14:18:47Z</dc:date>
    </item>
    <item>
      <title>Re: Need help in multiplying data!</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505936#M135547</link>
      <description>&lt;P&gt;PROC SUMMARY is very good a doing sums (and means and other statistics), by each firm/date combination. But it doesn't do products &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the trick is to take the logarithm of RET, then have PROC SUMMARY add up all the log(RET) values, and then take the results and un-log them. This works because adding logs and then un-logging the sum is the same as multiplying the original values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have2;
    set have;
    log_ret=log(ret);
run;

proc summary nway data=have2;
    class isin date;
    var log_ret;
    output out=sums sum=log_ret_sum;
run;

data want;
    set sums;
    ret1=exp(log_ret_sum);
run;&lt;/CODE&gt; &lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Oct 2018 14:21:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505936#M135547</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-10-19T14:21:05Z</dc:date>
    </item>
    <item>
      <title>Re: Need help in multiplying data!</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505941#M135551</link>
      <description>&lt;P&gt;You can retain the previous value on a by grouped dataset:&lt;/P&gt;
&lt;PRE&gt;data want;
  set have;
  by isin date;
  retain res;
  if first.date then res=ret;
  else res=res*ret;
  if last.date then output;
run;&lt;/PRE&gt;
&lt;P&gt;Or something on those lines.&lt;/P&gt;</description>
      <pubDate>Fri, 19 Oct 2018 14:24:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505941#M135551</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-10-19T14:24:21Z</dc:date>
    </item>
    <item>
      <title>Re: Need help in multiplying data!</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505951#M135556</link>
      <description>Thanks for your quick response! Brilliant solution!</description>
      <pubDate>Fri, 19 Oct 2018 14:35:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505951#M135556</guid>
      <dc:creator>bd_user_10</dc:creator>
      <dc:date>2018-10-19T14:35:25Z</dc:date>
    </item>
    <item>
      <title>Re: Need help in multiplying data!</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505953#M135558</link>
      <description>HI RW9, your code also works fine! Thanks for the code!</description>
      <pubDate>Fri, 19 Oct 2018 14:40:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Need-help-in-multiplying-data/m-p/505953#M135558</guid>
      <dc:creator>bd_user_10</dc:creator>
      <dc:date>2018-10-19T14:40:30Z</dc:date>
    </item>
  </channel>
</rss>

