<?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 to create SAS program for formula sumproduct(A,B)/sum A BY GROUP X in SAS Studio</title>
    <link>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318541#M1645</link>
    <description>&lt;P&gt;You should be able to follow the logic to add the total of A and then add in the division if LAST.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SQL is another option&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc SQL;&lt;/P&gt;
&lt;P&gt;create table want as&lt;/P&gt;
&lt;P&gt;select a.X, sum(a*b)/sum(a)&lt;/P&gt;
&lt;P&gt;from have&lt;/P&gt;
&lt;P&gt;group by x;&lt;/P&gt;
&lt;P&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another possibility is proc means since this is similar as using a FREQ or WEIGHT STATEMENT.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc means data=have sum wgtsum mean;&lt;/P&gt;
&lt;P&gt;class x;&lt;/P&gt;
&lt;P&gt;var b;&lt;/P&gt;
&lt;P&gt;weight a;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
    <pubDate>Tue, 13 Dec 2016 12:27:34 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2016-12-13T12:27:34Z</dc:date>
    <item>
      <title>Need to create SAS program for formula sumproduct(A,B)/sum A BY GROUP X</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318510#M1642</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Does anyone could help to create such program?&lt;/P&gt;&lt;P&gt;Example is in attachment.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 10:20:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318510#M1642</guid>
      <dc:creator>miris</dc:creator>
      <dc:date>2016-12-13T10:20:55Z</dc:date>
    </item>
    <item>
      <title>Re: Need to create SAS program for formula sumproduct(A,B)/sum A BY GROUP X</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318516#M1643</link>
      <description>&lt;P&gt;Assuming you data is already in sas dataset:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;by id group;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;STRONG&gt; retain tot_sum&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if first.group then tot_sum = x * y;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else tot_sum = sum(of tot_sum, x * y);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if last.group then output;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 10:41:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318516#M1643</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-12-13T10:41:30Z</dc:date>
    </item>
    <item>
      <title>Re: Need to create SAS program for formula sumproduct(A,B)/sum A BY GROUP X</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318536#M1644</link>
      <description>&lt;P&gt;Thank you very much,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, My data is already in dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It is very helpful but it is not exactly what I need.&lt;/P&gt;&lt;P&gt;What I need is (A1*B1+A2*B2+A3*B3) divided by A1+A2+A3&lt;/P&gt;&lt;P&gt;for every group (X1,X2,X3)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thank you&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 12:17:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318536#M1644</guid>
      <dc:creator>miris</dc:creator>
      <dc:date>2016-12-13T12:17:28Z</dc:date>
    </item>
    <item>
      <title>Re: Need to create SAS program for formula sumproduct(A,B)/sum A BY GROUP X</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318541#M1645</link>
      <description>&lt;P&gt;You should be able to follow the logic to add the total of A and then add in the division if LAST.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SQL is another option&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc SQL;&lt;/P&gt;
&lt;P&gt;create table want as&lt;/P&gt;
&lt;P&gt;select a.X, sum(a*b)/sum(a)&lt;/P&gt;
&lt;P&gt;from have&lt;/P&gt;
&lt;P&gt;group by x;&lt;/P&gt;
&lt;P&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another possibility is proc means since this is similar as using a FREQ or WEIGHT STATEMENT.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc means data=have sum wgtsum mean;&lt;/P&gt;
&lt;P&gt;class x;&lt;/P&gt;
&lt;P&gt;var b;&lt;/P&gt;
&lt;P&gt;weight a;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 12:27:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318541#M1645</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-12-13T12:27:34Z</dc:date>
    </item>
    <item>
      <title>Re: Need to create SAS program for formula sumproduct(A,B)/sum A BY GROUP X</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318545#M1646</link>
      <description>&lt;P&gt;It uses same logic as before. You just need retain one more total and divide totals at last:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;by id group;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;STRONG&gt; retain tot_sum_mult &amp;nbsp;tot_sum_x&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if first.group then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot_sum_x = x; &amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot_sum_mult = x * y;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end; else do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot_sum_x = sum(of tot_sum_x, x);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tot_sum_mult = sum(of tot_sum_mult, x * y);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if last.group then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;STRONG&gt;result&lt;/STRONG&gt; = tot_sum_mult / tot_sum_x;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;STRONG&gt;drop&lt;/STRONG&gt; tot_sum_mult tot_sum_x;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 12:44:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Need-to-create-SAS-program-for-formula-sumproduct-A-B-sum-A-BY/m-p/318545#M1646</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-12-13T12:44:51Z</dc:date>
    </item>
  </channel>
</rss>

