<?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: summing for only two groups in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/summing-for-only-two-groups/m-p/430037#M281549</link>
    <description>&lt;P&gt;If I were doing it, I would add another variable with the original state name and then sum on that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data out
set in
if StateAbb IN('AP','TG') then OrigState='AP';
run;
proc means data=out sum;&lt;BR /&gt;class variable origstate;&lt;BR /&gt;var value;&lt;BR /&gt;run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 23 Jan 2018 15:35:35 GMT</pubDate>
    <dc:creator>ebowen</dc:creator>
    <dc:date>2018-01-23T15:35:35Z</dc:date>
    <item>
      <title>summing for only two groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-for-only-two-groups/m-p/430022#M281546</link>
      <description>&lt;P&gt;In 2014, the state of AP in India was split into two states AP and TG. I want to sum the values of the two states so I can compare it with 2013 values of AP. I wanted to know if there's a better way to do this than what I have right now.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have:&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;variable&lt;/TD&gt;&lt;TD&gt;StateAbb&lt;/TD&gt;&lt;TD&gt;value&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;mra&lt;/TD&gt;&lt;TD&gt;AP&lt;/TD&gt;&lt;TD&gt;1539&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;mra&lt;/TD&gt;&lt;TD&gt;TG&lt;/TD&gt;&lt;TD&gt;971&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;mra&lt;/TD&gt;&lt;TD&gt;UP&lt;/TD&gt;&lt;TD&gt;2750&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;total&lt;/TD&gt;&lt;TD&gt;AP&lt;/TD&gt;&lt;TD&gt;56790&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;total&lt;/TD&gt;&lt;TD&gt;TG&lt;/TD&gt;&lt;TD&gt;51599&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;total&lt;/TD&gt;&lt;TD&gt;UP&lt;/TD&gt;&lt;TD&gt;88443&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Want:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;mra&lt;/TD&gt;&lt;TD&gt;AP&lt;/TD&gt;&lt;TD&gt;2510&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;mra&lt;/TD&gt;&lt;TD&gt;UP&lt;/TD&gt;&lt;TD&gt;2750&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;total&lt;/TD&gt;&lt;TD&gt;AP&lt;/TD&gt;&lt;TD&gt;108389&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;total&lt;/TD&gt;&lt;TD&gt;UP&lt;/TD&gt;&lt;TD&gt;88443&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Code that works for me but does not seem like an efficient one:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;proc sort data=_data0;&lt;BR /&gt;by variable descending StateAbb;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data _data1 ;&lt;BR /&gt;set _data0;&lt;BR /&gt;if StateAbb=:'AP' or StateAbb=:'TG' ;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc sort data=_data1;&lt;BR /&gt;by variable descending StateAbb;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data _data2;&lt;BR /&gt;set _data1;&lt;BR /&gt;by variable;&lt;BR /&gt;if first.variable then valueap=0;&lt;BR /&gt;valueap+value;&lt;BR /&gt;if StateAbb=:'AP' ;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc sort data=_data2;&lt;BR /&gt;by variable StateAbb;&lt;BR /&gt;run;&lt;BR /&gt;proc sort data=_data0;&lt;BR /&gt;by variable StateAbb;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data _data3(keep=variable StateAbb value);&lt;BR /&gt;merge _data0 _data2;&lt;BR /&gt;by variable StateAbb;&lt;BR /&gt;if StateAbb='AP' then value=valueap;&lt;BR /&gt;if StateAbb~='TG';&lt;BR /&gt;run;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Is there a better way to do this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jan 2018 15:19:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-for-only-two-groups/m-p/430022#M281546</guid>
      <dc:creator>putteringpluie</dc:creator>
      <dc:date>2018-01-23T15:19:58Z</dc:date>
    </item>
    <item>
      <title>Re: summing for only two groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-for-only-two-groups/m-p/430033#M281547</link>
      <description>&lt;P&gt;Something like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input variable$ StateAbb$ value;
datalines;
mra	AP	1539
mra	TG	971
mra	UP	2750
total	AP	56790
total	TG	51599
total	UP	88443
;

proc sql;
   create table want as
   select variable
         ,ifc(StateAbb="TG", "AP", StateAbb) as StateAbb
         ,sum(value) as sum_value
   from have
   group by variable, calculated StateAbb;
quit;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Jan 2018 15:28:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-for-only-two-groups/m-p/430033#M281547</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-01-23T15:28:43Z</dc:date>
    </item>
    <item>
      <title>Re: summing for only two groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-for-only-two-groups/m-p/430034#M281548</link>
      <description>&lt;P&gt;Yes, code the data, then sum:&lt;/P&gt;
&lt;PRE&gt;data inter;
  set _data0;
  new_code=ifc(stateabb in ("AP","TG","AP",stateabb);
run;
...do sum procedures group by new_code
  &lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Jan 2018 15:29:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-for-only-two-groups/m-p/430034#M281548</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-01-23T15:29:35Z</dc:date>
    </item>
    <item>
      <title>Re: summing for only two groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summing-for-only-two-groups/m-p/430037#M281549</link>
      <description>&lt;P&gt;If I were doing it, I would add another variable with the original state name and then sum on that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data out
set in
if StateAbb IN('AP','TG') then OrigState='AP';
run;
proc means data=out sum;&lt;BR /&gt;class variable origstate;&lt;BR /&gt;var value;&lt;BR /&gt;run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Jan 2018 15:35:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summing-for-only-two-groups/m-p/430037#M281549</guid>
      <dc:creator>ebowen</dc:creator>
      <dc:date>2018-01-23T15:35:35Z</dc:date>
    </item>
  </channel>
</rss>

