<?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 rows in a table to produce new rows in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Sum-rows-in-a-table-to-produce-new-rows/m-p/695636#M212298</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/354931"&gt;@kelly6&lt;/a&gt;&amp;nbsp;and welcome to the SAS Support Communities!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is a typical use case of a &lt;A href="https://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.5&amp;amp;docsetId=proc&amp;amp;docsetTarget=p1upn25lbfo6mkn1wncu4dyh9q91.htm&amp;amp;locale=en#n0tcklc8ysnmltn14k6l4el98wbc" target="_blank" rel="noopener"&gt;multilabel format&lt;/A&gt;. See&amp;nbsp;&lt;A href="https://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.5&amp;amp;docsetId=proc&amp;amp;docsetTarget=p1kkf0fl0y3yeon1qxyme7bp7hcn.htm&amp;amp;locale=en" target="_blank" rel="noopener"&gt;Example 12: Using Multilabel Formats&lt;/A&gt; in the PROC REPORT documentation for a very similar application. So, all you need is&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;a PROC FORMAT step creating a variant of your &lt;FONT face="courier new,courier"&gt;sites.&lt;/FONT&gt; format (say, &lt;FONT face="courier new,courier"&gt;sitesml.&lt;/FONT&gt;) analogous to format&amp;nbsp;&lt;SPAN&gt;&lt;FONT face="courier new,courier"&gt;agelfmt&lt;/FONT&gt; in the documentation example&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;to specify this format in the DEFINE statement for variable&amp;nbsp;&lt;FONT face="courier new,courier"&gt;sitename&lt;/FONT&gt; along with the three additional options&amp;nbsp;&lt;FONT face="courier new,courier"&gt;mlf order=data preloadfmt&lt;/FONT&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;</description>
    <pubDate>Sat, 31 Oct 2020 10:59:33 GMT</pubDate>
    <dc:creator>FreelanceReinh</dc:creator>
    <dc:date>2020-10-31T10:59:33Z</dc:date>
    <item>
      <title>Sum rows in a table to produce new rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-rows-in-a-table-to-produce-new-rows/m-p/695616#M212285</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm a novice so apologies in advance -&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have programmed a table, and now want to add two new rows - sum rows A and B into a new row, A+B; sum rows C and D into a new row, C+D. Is there a simple way to do this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Enrollment&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Phase 1&lt;/TD&gt;&lt;TD&gt;Phase 1&lt;/TD&gt;&lt;TD&gt;Phase 2&lt;/TD&gt;&lt;TD&gt;Phase 2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Site Name&lt;/TD&gt;&lt;TD&gt;Enrolled&lt;/TD&gt;&lt;TD&gt;#&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;#&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A+B&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C+D&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Total&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;proc report data = Samples;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;column ('Enrollment' sitename Enrolled ('Sample Collection' ('Phase 1' NP1 PctNP1) ('Phase 2' NP2 PctNP2)));&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;define sitename / group center format = sites.;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;define Enrolled / analysis '#';&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;define NP1 / analysis '#';&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;define PctNP1 / computed '%';&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;define NP2 / analysis '#';&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;define PctNP2 / computed '%';&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;define NP2 / analysis '#';&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;compute PctNP1;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;PctNP1 = round((_c3_/_c2_)*100,0.1);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;endcomp;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;compute PctNP2;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;PctNP2 = round((_c5_/_c2_)*100,0.1);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;endcomp;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;compute sitename;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;if _break_ ='_RBREAK_' then&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;call define('sitename','style','style=[pretext="Total"]');&amp;nbsp;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;endcomp;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;rbreak after / summarize ul ol;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;run;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;ods startpage = now;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 31 Oct 2020 03:25:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-rows-in-a-table-to-produce-new-rows/m-p/695616#M212285</guid>
      <dc:creator>kelly6</dc:creator>
      <dc:date>2020-10-31T03:25:00Z</dc:date>
    </item>
    <item>
      <title>Re: Sum rows in a table to produce new rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-rows-in-a-table-to-produce-new-rows/m-p/695634#M212296</link>
      <description>&lt;P&gt;It would help if you provide sample data that we can work with, following these instructions: &lt;A href="https://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/" target="_blank"&gt;https://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does the final output have to be a table in an output destination, or can it be a SAS data set, or something else?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is wrong with the code you provided? You don't really say.&lt;/P&gt;</description>
      <pubDate>Sat, 31 Oct 2020 10:42:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-rows-in-a-table-to-produce-new-rows/m-p/695634#M212296</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-10-31T10:42:50Z</dc:date>
    </item>
    <item>
      <title>Re: Sum rows in a table to produce new rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-rows-in-a-table-to-produce-new-rows/m-p/695636#M212298</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/354931"&gt;@kelly6&lt;/a&gt;&amp;nbsp;and welcome to the SAS Support Communities!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is a typical use case of a &lt;A href="https://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.5&amp;amp;docsetId=proc&amp;amp;docsetTarget=p1upn25lbfo6mkn1wncu4dyh9q91.htm&amp;amp;locale=en#n0tcklc8ysnmltn14k6l4el98wbc" target="_blank" rel="noopener"&gt;multilabel format&lt;/A&gt;. See&amp;nbsp;&lt;A href="https://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.5&amp;amp;docsetId=proc&amp;amp;docsetTarget=p1kkf0fl0y3yeon1qxyme7bp7hcn.htm&amp;amp;locale=en" target="_blank" rel="noopener"&gt;Example 12: Using Multilabel Formats&lt;/A&gt; in the PROC REPORT documentation for a very similar application. So, all you need is&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;a PROC FORMAT step creating a variant of your &lt;FONT face="courier new,courier"&gt;sites.&lt;/FONT&gt; format (say, &lt;FONT face="courier new,courier"&gt;sitesml.&lt;/FONT&gt;) analogous to format&amp;nbsp;&lt;SPAN&gt;&lt;FONT face="courier new,courier"&gt;agelfmt&lt;/FONT&gt; in the documentation example&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;to specify this format in the DEFINE statement for variable&amp;nbsp;&lt;FONT face="courier new,courier"&gt;sitename&lt;/FONT&gt; along with the three additional options&amp;nbsp;&lt;FONT face="courier new,courier"&gt;mlf order=data preloadfmt&lt;/FONT&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Sat, 31 Oct 2020 10:59:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-rows-in-a-table-to-produce-new-rows/m-p/695636#M212298</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2020-10-31T10:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: Sum rows in a table to produce new rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-rows-in-a-table-to-produce-new-rows/m-p/695637#M212299</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/354931"&gt;@kelly6&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There is no way for SAS to guess which rows you want included in a sub-summation. You need a grouping variable in each row to tell which sum-group it belongs to, eg A 1, B 1, C 2, D 2.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 31 Oct 2020 11:01:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-rows-in-a-table-to-produce-new-rows/m-p/695637#M212299</guid>
      <dc:creator>ErikLund_Jensen</dc:creator>
      <dc:date>2020-10-31T11:01:58Z</dc:date>
    </item>
  </channel>
</rss>

