<?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: How to stack summary table in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406566#M99005</link>
    <description>&lt;P&gt;Please describe your problem in terms of your variables. Your output has two column headings but it is not clear what role the variable followup_flag may play, or which "%" you want: row, column or table.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want the two levels of Vaccine_flag to generate the output, with 1=got vaccine and 2= didn't then something like this may be a start:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc format library=work;
format vacc
1="Patients who got vaccine"
0="Patients who didn't get vaccine"
;
run;
proc tabulate data=have;
   class gender race ethnicity age;
   class  vaccine_flag /descending;
   format vaccine_flag vacc.;
   table gender race ethnicity age,
         vaccine_flag=''*(n='Number' RowPctN='%')
         /misstext=' '; 
run;&lt;/PRE&gt;</description>
    <pubDate>Mon, 23 Oct 2017 14:49:30 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2017-10-23T14:49:30Z</dc:date>
    <item>
      <title>How to stack summary table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406256#M98876</link>
      <description>&lt;P&gt;Hi I&amp;nbsp;come across a task that requires the final output of the data to be one big summary table (all the rows are categorical variables, want to see the distribution break down; and the columns reflect different population group, I want to see the count), it&amp;nbsp;looks like:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If there is a missing variable, report missing as well.&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;Patients who got vaccine&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Patients who didn't get vaccine&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&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;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Number&lt;/TD&gt;&lt;TD&gt;%&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Number&lt;/TD&gt;&lt;TD&gt;%&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Gender&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;Male&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;Female&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;Race&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;American Indian&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;Asian&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;Black&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;White&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;Multi-Race&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;NA&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;Ethinicity&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;Hispanic&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;Non-Hispanic&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;Age&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;18-39&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;40-64&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;65+&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;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The input data looks like:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;patient_ID&lt;/TD&gt;&lt;TD&gt;Race&lt;/TD&gt;&lt;TD&gt;Gender&lt;/TD&gt;&lt;TD&gt;Ethnicity&lt;/TD&gt;&lt;TD&gt;Age Group&lt;/TD&gt;&lt;TD&gt;Followup_Flag&lt;/TD&gt;&lt;TD&gt;Vaccine_Flag&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;American Indian&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;Hispanic&lt;/TD&gt;&lt;TD&gt;18-39&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Asian&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;Non-Hispanic&lt;/TD&gt;&lt;TD&gt;18-39&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;Black&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;NA&lt;/TD&gt;&lt;TD&gt;40-64&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;White&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Hispanic&lt;/TD&gt;&lt;TD&gt;65+&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;Multi-Race&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;Non-Hispanic&lt;/TD&gt;&lt;TD&gt;18-39&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;NA&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;Hispanic&lt;/TD&gt;&lt;TD&gt;18-39&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;American Indian&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;Non-Hispanic&lt;/TD&gt;&lt;TD&gt;40-65&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;Asian&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;65+&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;Black&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;Non-Hispanic&lt;/TD&gt;&lt;TD&gt;18-39&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;American Indian&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;NA&lt;/TD&gt;&lt;TD&gt;18-39&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;Asian&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;Hispanic&lt;/TD&gt;&lt;TD&gt;40-66&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;Black&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;Non-Hispanic&lt;/TD&gt;&lt;TD&gt;65+&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&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;The methods I know, proc report, proc mean, etc, only give me summary statistics for one category at a time,&amp;nbsp;and&amp;nbsp;I am not interested in how different categories intersects with each other, don't need something like Race*Age. The real data I work with have way more different population categories like the two big columns, but the rows that need to be reported are the same across population groups.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am wondering if there is any way to systematically 'stack' summary statistics of each row category, so that I won't need to stack them by hand for my real data (10 row categories, 20 column population categories).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any suggestion is greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Sat, 21 Oct 2017 15:07:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406256#M98876</guid>
      <dc:creator>LisaYIN9309</dc:creator>
      <dc:date>2017-10-21T15:07:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to stack summary table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406266#M98883</link>
      <description>&lt;P&gt;Try using PROC TABULATE.&lt;/P&gt;
&lt;P&gt;If you have difficulties with it - please:&lt;/P&gt;
&lt;P&gt;1) post your data in a input datalines format&lt;/P&gt;
&lt;P&gt;2) post the code you tried (and log if needed) to point where is your issue.&lt;/P&gt;</description>
      <pubDate>Sat, 21 Oct 2017 16:28:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406266#M98883</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-10-21T16:28:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to stack summary table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406269#M98886</link>
      <description>&lt;P&gt;PROC REPORT will do this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Better yet is to do the calculations in PROC SUMMARY and then have PROC REPORT make the final report in the format you want.&lt;/P&gt;</description>
      <pubDate>Sat, 21 Oct 2017 16:30:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406269#M98886</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2017-10-21T16:30:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to stack summary table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406270#M98887</link>
      <description>&lt;P&gt;I have a macro that does some of this. You can find it here. You'll likely need to customize your output further to get exactly what you need.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://gist.github.com/statgeek/b308ac2cfc9b4db0ee3d793567627af0" target="_blank"&gt;https://gist.github.com/statgeek/b308ac2cfc9b4db0ee3d793567627af0&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 21 Oct 2017 16:33:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406270#M98887</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-10-21T16:33:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to stack summary table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406566#M99005</link>
      <description>&lt;P&gt;Please describe your problem in terms of your variables. Your output has two column headings but it is not clear what role the variable followup_flag may play, or which "%" you want: row, column or table.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want the two levels of Vaccine_flag to generate the output, with 1=got vaccine and 2= didn't then something like this may be a start:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc format library=work;
format vacc
1="Patients who got vaccine"
0="Patients who didn't get vaccine"
;
run;
proc tabulate data=have;
   class gender race ethnicity age;
   class  vaccine_flag /descending;
   format vaccine_flag vacc.;
   table gender race ethnicity age,
         vaccine_flag=''*(n='Number' RowPctN='%')
         /misstext=' '; 
run;&lt;/PRE&gt;</description>
      <pubDate>Mon, 23 Oct 2017 14:49:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406566#M99005</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-10-23T14:49:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to stack summary table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406664#M99050</link>
      <description>Thank you &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;, I should have specified, the top column heading was supposed to indicate which group of people, you got it right. When I copied my table in, this posting section don't allow me to merge the two cells. Sorry about the confusion.</description>
      <pubDate>Mon, 23 Oct 2017 17:46:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-stack-summary-table/m-p/406664#M99050</guid>
      <dc:creator>LisaYIN9309</dc:creator>
      <dc:date>2017-10-23T17:46:20Z</dc:date>
    </item>
  </channel>
</rss>

