<?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 summing by group using SQL in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374585#M276355</link>
    <description>&lt;P&gt;Hi -&lt;/P&gt;&lt;P&gt;My current data looks like this:&lt;/P&gt;&lt;P&gt;id &amp;nbsp;name &amp;nbsp; cell1 &amp;nbsp;cell2 cell3 .... cell10&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; b &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; b &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;I want to sum cell1-cell10 by id and by name, the ideal output is like this, when performing calculation, for the missing data,&lt;/P&gt;&lt;P&gt;missing + missing should be left as missing, and missing + 1 should be equal to 1:&lt;/P&gt;&lt;P&gt;id &amp;nbsp;name &amp;nbsp; cell1 &amp;nbsp;cell2 &amp;nbsp;cell3 ... cell10&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; b &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;I tried this approach first but it is really slow and make sas stops running:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc means data =data;
   var cell1-cell10;
   output out = want (drop = _type_ _freq_)
   sum(cell1-cell10) = cell1-cell10;
   by id name;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I think sql might be better but my current code does not work:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select id, name, cell1-cell10, sum(cell1-cell10) as sum_cell1-sum_cell10
from data
group by id and name;
quit;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Any idea?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!!!&lt;/P&gt;</description>
    <pubDate>Mon, 10 Jul 2017 16:12:12 GMT</pubDate>
    <dc:creator>panda</dc:creator>
    <dc:date>2017-07-10T16:12:12Z</dc:date>
    <item>
      <title>summing by group using SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374585#M276355</link>
      <description>&lt;P&gt;Hi -&lt;/P&gt;&lt;P&gt;My current data looks like this:&lt;/P&gt;&lt;P&gt;id &amp;nbsp;name &amp;nbsp; cell1 &amp;nbsp;cell2 cell3 .... cell10&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; b &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; b &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;I want to sum cell1-cell10 by id and by name, the ideal output is like this, when performing calculation, for the missing data,&lt;/P&gt;&lt;P&gt;missing + missing should be left as missing, and missing + 1 should be equal to 1:&lt;/P&gt;&lt;P&gt;id &amp;nbsp;name &amp;nbsp; cell1 &amp;nbsp;cell2 &amp;nbsp;cell3 ... cell10&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; b &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;I tried this approach first but it is really slow and make sas stops running:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc means data =data;
   var cell1-cell10;
   output out = want (drop = _type_ _freq_)
   sum(cell1-cell10) = cell1-cell10;
   by id name;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I think sql might be better but my current code does not work:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select id, name, cell1-cell10, sum(cell1-cell10) as sum_cell1-sum_cell10
from data
group by id and name;
quit;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Any idea?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!!!&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jul 2017 16:12:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374585#M276355</guid>
      <dc:creator>panda</dc:creator>
      <dc:date>2017-07-10T16:12:12Z</dc:date>
    </item>
    <item>
      <title>Re: summing by group using SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374589#M276356</link>
      <description>&lt;P&gt;Did you try a variation on the Means syntax:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc means data =data nway;
   class id name;
   var cell1 - cell10;
   output out = want (drop = _type_ _freq_)
   sum =
   ;
run;&lt;/PRE&gt;
&lt;P&gt;Class will group the variables, the nway option works with the class variables to create only the combinations of the class variables with all the variables. If there is a single statistic you want for each VAR then just use the name of the statistic and = to maintain the original name.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jul 2017 16:25:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374589#M276356</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-07-10T16:25:21Z</dc:date>
    </item>
    <item>
      <title>Re: summing by group using SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374591#M276357</link>
      <description>&lt;P&gt;SQL doesn't support variable lists the way you've used them.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Because of that you'll have to list each calculation independently such as:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;sum(var1) as var1_sum,
sum(var2) as var2_sum,
...


sum(var99) as var99_sum&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Proc Means will allow you to calculate the sum without this issue. Try adding the NOPRINT option to help speed it up. How big is your data? if it's really large other options are available but PROC MEANS is the best place to start IMO.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc means data =data NOPRINT;
   var cell1-cell10;
   output out = want (drop = _type_ _freq_)
   sum(cell1-cell10) = cell1-cell10;
   by id name;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 10 Jul 2017 16:32:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374591#M276357</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-07-10T16:32:22Z</dc:date>
    </item>
    <item>
      <title>Re: summing by group using SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374595#M276358</link>
      <description>&lt;P&gt;I tried that approach but is still really slow, in my example the variables are from cell1 to cell10 but actually I have cell1-cell1440.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jul 2017 16:43:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374595#M276358</guid>
      <dc:creator>panda</dc:creator>
      <dc:date>2017-07-10T16:43:58Z</dc:date>
    </item>
    <item>
      <title>Re: summing by group using SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374596#M276359</link>
      <description>Thanks so much! I have more than 3,000 observations and 1441 variables.&lt;BR /&gt;After I add NOPRINT, it runs really quickly.</description>
      <pubDate>Mon, 10 Jul 2017 16:44:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374596#M276359</guid>
      <dc:creator>panda</dc:creator>
      <dc:date>2017-07-10T16:44:57Z</dc:date>
    </item>
    <item>
      <title>Re: summing by group using SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374598#M276360</link>
      <description>&lt;P&gt;3000 observations is nothing, but 1440 variables is a lot.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Jul 2017 16:46:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-by-group-using-SQL/m-p/374598#M276360</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-07-10T16:46:29Z</dc:date>
    </item>
  </channel>
</rss>

