<?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: Sum Vertically in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654619#M196562</link>
    <description>&lt;P&gt;I think TOTAL for BOTH when MONTH = 3 should be 27, not 33.&lt;BR /&gt;&lt;BR /&gt;Try this:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
    create table both as
    select 'BOTH' as fruit
          ,month
          ,year
          ,sum(total) as total
    from have
    group by month, year
    ;
quit;

data want;
    set have
        both;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 08 Jun 2020 17:18:26 GMT</pubDate>
    <dc:creator>mklangley</dc:creator>
    <dc:date>2020-06-08T17:18:26Z</dc:date>
    <item>
      <title>Sum Vertically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654614#M196559</link>
      <description>&lt;P&gt;I have the following data (excel file attached as well).&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="256"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;FRUIT&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;MONTH&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;YEAR&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;TOTAL&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ORANGE&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ORANGE&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ORANGE&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;APPLE&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;APPLE&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;APPLE&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like to know how I can get a total for each month for oranges and apples combined. For example, for month 1 the total would be 9 for both oranges and apples. I would also like the table to look like below:&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="256"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;FRUIT&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;MONTH&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;YEAR&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;TOTAL&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ORANGE&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ORANGE&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ORANGE&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;APPLE&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;APPLE&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;APPLE&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;BOTH&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;BOTH&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;BOTH&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;33&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could someone please assist me with this please?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2020 17:10:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654614#M196559</guid>
      <dc:creator>luvscandy27</dc:creator>
      <dc:date>2020-06-08T17:10:00Z</dc:date>
    </item>
    <item>
      <title>Re: Sum Vertically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654617#M196561</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/255656"&gt;@luvscandy27&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please try this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
	select * from fruit

	union all corr

	select 'BOTH' as fruit, month, year, sum(total) as total
	from fruit
	where fruit in ('ORANGE', 'APPLE')
	group by year, month;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 08 Jun 2020 17:17:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654617#M196561</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-06-08T17:17:06Z</dc:date>
    </item>
    <item>
      <title>Re: Sum Vertically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654619#M196562</link>
      <description>&lt;P&gt;I think TOTAL for BOTH when MONTH = 3 should be 27, not 33.&lt;BR /&gt;&lt;BR /&gt;Try this:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
    create table both as
    select 'BOTH' as fruit
          ,month
          ,year
          ,sum(total) as total
    from have
    group by month, year
    ;
quit;

data want;
    set have
        both;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 08 Jun 2020 17:18:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654619#M196562</guid>
      <dc:creator>mklangley</dc:creator>
      <dc:date>2020-06-08T17:18:26Z</dc:date>
    </item>
    <item>
      <title>Re: Sum Vertically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654621#M196563</link>
      <description>&lt;P&gt;Proc tabulate would be my choice.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc tabulate data=have;
class fruit year month;
var total;
table (fruit all='Both')*Month*Year, Total*SUM = "Total"*f=comma.;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 08 Jun 2020 17:25:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654621#M196563</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-06-08T17:25:29Z</dc:date>
    </item>
    <item>
      <title>Re: Sum Vertically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654625#M196565</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input FRUIT $	MONTH 	YEAR 	TOTAL;
cards;
ORANGE	1	2018	5
ORANGE	2	2018	10
ORANGE	3	2018	15
APPLE	1	2018	4
APPLE	2	2018	8
APPLE	3	2018	12
;

data want;
 if _n_=1 then do;
  dcl hash H (ordered:'y') ;
  h.definekey  ("month","year") ;
  h.definedata ("month","year","total") ;
  h.definedone () ;
  dcl hiter hi('h');
 end;
 do until(z);
  set have(rename=(total=_total)) end=z;
  if h.find()=0 then TOTAL=sum(_total,total);
  else total=_total;
  h.replace();
  output;
 end;
 Fruit='Both';
 do while(hi.next()=0);
  _total=total;
  output;
 end;
 drop total;
 rename _total=total;
run;
proc print noobs;run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l header" scope="col"&gt;FRUIT&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;MONTH&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;YEAR&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;total&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;ORANGE&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;2018&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;ORANGE&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;2018&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;ORANGE&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;2018&lt;/TD&gt;
&lt;TD class="r data"&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;APPLE&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;2018&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;APPLE&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;2018&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;APPLE&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;2018&lt;/TD&gt;
&lt;TD class="r data"&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Both&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;2018&lt;/TD&gt;
&lt;TD class="r data"&gt;9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Both&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;2018&lt;/TD&gt;
&lt;TD class="r data"&gt;18&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;Both&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;2018&lt;/TD&gt;
&lt;TD class="r data"&gt;27&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 08 Jun 2020 17:33:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654625#M196565</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-06-08T17:33:36Z</dc:date>
    </item>
    <item>
      <title>Re: Sum Vertically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654630#M196568</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc means data=have;

class fruits year month;

types fruits*year*month year*month;

var total;

output out=want sum = total;

run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can also selectively use the TYPES statement to explicitly control the granularity of the data you report.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://documentation.sas.com/?docsetId=proc&amp;amp;docsetTarget=p1ivm86f1sq3r1n13nykew2kdimp.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en"&gt;https://documentation.sas.com/?docsetId=proc&amp;amp;docsetTarget=p1ivm86f1sq3r1n13nykew2kdimp.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can also use the WAYS statement, or PROC REPORT. There's many ways to do this one &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;A customized format and PROC FREQ is also an option. One advantage to the method above, it's dynamic. Doesn't matter how many months or fruits you have and no need to know that information ahead of time.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2020 17:51:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654630#M196568</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-06-08T17:51:06Z</dc:date>
    </item>
    <item>
      <title>Re: Sum Vertically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654633#M196571</link>
      <description>&lt;P&gt;Slick. Right on!!! Kudos!!!&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2020 17:53:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654633#M196571</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-06-08T17:53:00Z</dc:date>
    </item>
    <item>
      <title>Re: Sum Vertically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654644#M196578</link>
      <description>&lt;P&gt;And just for fun another data step solution:&lt;/P&gt;
&lt;PRE&gt;data want ;
   set have end = eof ;
   array m (12) _temporary_ ;
   m(month) + total ;
   output ;
   if eof then 
      do _n_ = 1 to 12 ;
         fruit = "BOTH" ;
         if not m(_n_) then continue ;
         month = _n_ ;
         total = m(_n_) ;
         output ;
      end ;
run ;
&lt;/PRE&gt;</description>
      <pubDate>Mon, 08 Jun 2020 18:33:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/654644#M196578</guid>
      <dc:creator>biopharma</dc:creator>
      <dc:date>2020-06-08T18:33:43Z</dc:date>
    </item>
    <item>
      <title>Re: Sum Vertically</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/655300#M196626</link>
      <description>&lt;P&gt;Thank you everyone, for all of your help!&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jun 2020 08:48:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-Vertically/m-p/655300#M196626</guid>
      <dc:creator>luvscandy27</dc:creator>
      <dc:date>2020-06-09T08:48:57Z</dc:date>
    </item>
  </channel>
</rss>

