<?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 Grand Total in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49487#M13440</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Art:&lt;/P&gt;&lt;P&gt;&amp;nbsp; Ah, but, learn to fish (write the code) and after the initial investment -- amortized over the life of the report usage -- I'm betting that will be a pretty good ROI. When you get into the world of adding subtotals and/or grand totals to data, for purposes of reporting, I just find it more straightforward to go directly to the two reporting workhorse procedures -- TABULATE and REPORT. TABULATE is the "Ginsu Steak Knife" of SAS -- it slices and dices data and adds summary lines where you want. REPORT has the RBREAK, BREAK statements and COMPUTE block and the ability to customize break lines and compute variables/report items in the procedure itself. And besides, I like to brag on the SAS procedures that are outside the SQL horizon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; cynthia&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 17 Aug 2011 00:40:14 GMT</pubDate>
    <dc:creator>Cynthia_sas</dc:creator>
    <dc:date>2011-08-17T00:40:14Z</dc:date>
    <item>
      <title>Grand Total</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49481#M13434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have the following procedure that summarizes hours by district. How can add a grand total for all districts to this statement? Or do I have to use the proc tabulate?&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;proc sql;&lt;BR /&gt;select dcode, dname, sum(hrs) as hours&lt;BR /&gt;from hourstable&lt;BR /&gt;group by dcode, dname; &lt;/P&gt;&lt;DIV class="mcePaste" id="_mcePaste" style="left: -10000px; overflow: hidden; width: 1px; position: absolute; top: 0px; height: 1px;"&gt;﻿&lt;/DIV&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;RAF&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Aug 2011 20:22:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49481#M13434</guid>
      <dc:creator>RAF</dc:creator>
      <dc:date>2011-08-16T20:22:20Z</dc:date>
    </item>
    <item>
      <title>Grand Total</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49482#M13435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can't test it at the moment you could get it a number of ways other than proc tabulate (although that would work to).&amp;nbsp; Depends on what you want your output to look like.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One simple way would be to just expand your statement.&amp;nbsp; e.g.:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;﻿proc sql;&lt;/P&gt;&lt;P&gt;select dcode, dname, sum(hrs) as hours&lt;/P&gt;&lt;P&gt;from hourstable&lt;/P&gt;&lt;P&gt;group by dcode, dname;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select sum(hrs) as totalhours&lt;/P&gt;&lt;P&gt;from hourstable;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Conversely, you could add &lt;/P&gt;&lt;P&gt;create sometablename as&lt;/P&gt;&lt;P&gt;right after your proc sql call and then use proc print to print the file and sum the hours.&amp;nbsp; Using that method, would probably require the least coding yet still give you a nice looking output.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Aug 2011 21:43:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49482#M13435</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-08-16T21:43:20Z</dc:date>
    </item>
    <item>
      <title>Grand Total</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49483#M13436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the response.&lt;/P&gt;&lt;P&gt;I'm not extremely worried about the 'looks' of it. Just a Grand Total at the bottom, after all the district totals.&lt;/P&gt;&lt;P&gt;So far, the only I found is to use the more elaborate proc tabulate (table, etc...). &lt;/P&gt;&lt;P&gt;I was hoping something simple added to my proc sql&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Aug 2011 21:57:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49483#M13436</guid>
      <dc:creator>RAF</dc:creator>
      <dc:date>2011-08-16T21:57:53Z</dc:date>
    </item>
    <item>
      <title>Grand Total</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49484#M13437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another way would be to create a dataset from the SQL then PROC PRINT it and use the SUM statement to give you a grand total at the bottom.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Aug 2011 22:35:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49484#M13437</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2011-08-16T22:35:41Z</dc:date>
    </item>
    <item>
      <title>Re: Grand Total</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49485#M13438</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi:&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you use the PROC SQL and PROC PRINT method, then you will end up making 2 passes through the data -- one to do the summarize and create HOURS and the other to do the PROC PRINT and the SUM. Either TABULATE or REPORT would do the same report for you with one pass through the data. The cosmetic differences between the two reports are shown in the attached screenshot -- but with a bit of code, you could "fix" the cosmetics..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cynthia&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;data hourstable;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; infile datalines;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; input dcode $ dname $ hrs;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;return;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;datalines;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;AAA Alan 10&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;AAA Alan&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;AAA Bob&amp;nbsp; 10&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;AAA Bob&amp;nbsp; 20&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;AAA Carl&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;AAA Carl&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;AAA Carl&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;BBB Dana&amp;nbsp; 6&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;BBB Dana&amp;nbsp; 4&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;BBB Dana&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;BBB Edie&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;BBB Edie 20&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Alan 10&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Alan&amp;nbsp; 2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Bob&amp;nbsp;&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Bob&amp;nbsp;&amp;nbsp; 2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Bob&amp;nbsp;&amp;nbsp; 3&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Dana&amp;nbsp; 6&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Dana&amp;nbsp; 4&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Dana&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Edie&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;CCC Edie&amp;nbsp; 5&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;ods html file='c:\temp\sum_tab_rep.html' style=sasweb;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;proc tabulate data=hourstable f=comma6.;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; title '1) PROC TABULATE';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; class dcode dname;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; var hrs;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; table dcode*dname all='Total',&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hrs='Hours'*sum=' ';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;proc report data=hourstable nowd;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; title '2) PROC REPORT';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; column dcode dname hrs;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; define dcode / group;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; define dname / group;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; define hrs / sum 'Hours';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; rbreak after /summarize;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; compute after;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dcode = 'Total';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; endcomp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;ods _all_ close;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/10574i3EE066C8E7620589/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="tab_report_grand_total.jpg" title="tab_report_grand_total.jpg" /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Aug 2011 23:13:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49485#M13438</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2011-08-16T23:13:26Z</dc:date>
    </item>
    <item>
      <title>Re: Grand Total</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49486#M13439</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Cynthia,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I obviously can't question the number of passes required.&amp;nbsp; But, I expanded your example dataset to have 2,200,000 records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On my computer the proc sql version took 3 seconds, while your proposed methods took approximately 1.5 seconds each.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the OP's data set is even that large, and since they had already written the initial proc sql code, I think it would take longer than 1.5 seconds to write the additional code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, you make a good point nonetheless!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Aug 2011 00:21:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49486#M13439</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-08-17T00:21:55Z</dc:date>
    </item>
    <item>
      <title>Grand Total</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49487#M13440</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Art:&lt;/P&gt;&lt;P&gt;&amp;nbsp; Ah, but, learn to fish (write the code) and after the initial investment -- amortized over the life of the report usage -- I'm betting that will be a pretty good ROI. When you get into the world of adding subtotals and/or grand totals to data, for purposes of reporting, I just find it more straightforward to go directly to the two reporting workhorse procedures -- TABULATE and REPORT. TABULATE is the "Ginsu Steak Knife" of SAS -- it slices and dices data and adds summary lines where you want. REPORT has the RBREAK, BREAK statements and COMPUTE block and the ability to customize break lines and compute variables/report items in the procedure itself. And besides, I like to brag on the SAS procedures that are outside the SQL horizon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; cynthia&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Aug 2011 00:40:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49487#M13440</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2011-08-17T00:40:14Z</dc:date>
    </item>
    <item>
      <title>Grand Total</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49488#M13441</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How about:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data temp;
input id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;upc_code &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;year ;
cards;
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1230070413&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2004
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2004
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1230000018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2004
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1230070499&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2004
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2004
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1230011813&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1230070413&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
2000351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1230011813&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2005
;
run;

proc sql ;
&amp;nbsp; select id,year,sum(year) as sum
&amp;nbsp;&amp;nbsp; from temp
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by id,year
&amp;nbsp; union 
&amp;nbsp; select .,.,sum(year)as sum
&amp;nbsp;&amp;nbsp; from temp
&amp;nbsp;&amp;nbsp;&amp;nbsp; order by sum ;
quit;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Aug 2011 08:57:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Grand-Total/m-p/49488#M13441</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2011-08-17T08:57:50Z</dc:date>
    </item>
  </channel>
</rss>

