<?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 Proc Report - count and proportion for subgroups in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809162#M319072</link>
    <description>&lt;P&gt;I'm trying to practice with Proc Report, using the SAShelp class data here.&lt;/P&gt;&lt;P&gt;I would like to get counts and proportions (%) of the 'short' people, for subgroups by sex and age. This is the desired output:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Sex&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;subgroup_total&lt;/TD&gt;&lt;TD&gt;count_short&lt;/TD&gt;&lt;TD&gt;prop_short&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;100.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;66.7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's what I tried, I thought something like this might work for the count, but it doesn't seem to:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;DATA Class_height;
	SET sashelp.class;
	IF Height &amp;lt; 60                         THEN Ht_category = 'short'; 					          
	ELSE IF Height =&amp;gt; 60 AND Height &amp;lt; 65   THEN Ht_category = 'med';     
	                                       ELSE Ht_category = 'tall';
RUN;

PROC REPORT DATA = Class_height;
	COLUMN Sex Age Weight=n Ht_category=n1 Prop_short;
	DEFINE Sex      / group;
	DEFINE Age      / group;
	DEFINE n        / n 'subgroup_total'; 

	DEFINE n1       / computed 'count_short';
		COMPUTE n1; 
			IF Ht_category = 'short' THEN count+1;
			n1 = count; 
		ENDCOMP; 

	DEFINE Prop_short / computed 'prop_short' format=4.1;
		COMPUTE Prop_short; 
			Prop_short = n1/n*100;                                      
		ENDCOMP; 
RUN;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
    <pubDate>Thu, 21 Apr 2022 20:06:25 GMT</pubDate>
    <dc:creator>DougHold</dc:creator>
    <dc:date>2022-04-21T20:06:25Z</dc:date>
    <item>
      <title>Proc Report - count and proportion for subgroups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809162#M319072</link>
      <description>&lt;P&gt;I'm trying to practice with Proc Report, using the SAShelp class data here.&lt;/P&gt;&lt;P&gt;I would like to get counts and proportions (%) of the 'short' people, for subgroups by sex and age. This is the desired output:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Sex&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;subgroup_total&lt;/TD&gt;&lt;TD&gt;count_short&lt;/TD&gt;&lt;TD&gt;prop_short&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;100.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;66.7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0.0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's what I tried, I thought something like this might work for the count, but it doesn't seem to:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;DATA Class_height;
	SET sashelp.class;
	IF Height &amp;lt; 60                         THEN Ht_category = 'short'; 					          
	ELSE IF Height =&amp;gt; 60 AND Height &amp;lt; 65   THEN Ht_category = 'med';     
	                                       ELSE Ht_category = 'tall';
RUN;

PROC REPORT DATA = Class_height;
	COLUMN Sex Age Weight=n Ht_category=n1 Prop_short;
	DEFINE Sex      / group;
	DEFINE Age      / group;
	DEFINE n        / n 'subgroup_total'; 

	DEFINE n1       / computed 'count_short';
		COMPUTE n1; 
			IF Ht_category = 'short' THEN count+1;
			n1 = count; 
		ENDCOMP; 

	DEFINE Prop_short / computed 'prop_short' format=4.1;
		COMPUTE Prop_short; 
			Prop_short = n1/n*100;                                      
		ENDCOMP; 
RUN;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 21 Apr 2022 20:06:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809162#M319072</guid>
      <dc:creator>DougHold</dc:creator>
      <dc:date>2022-04-21T20:06:25Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Report - count and proportion for subgroups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809168#M319075</link>
      <description>&lt;P&gt;When I use Proc Report and want interesting values, especially percents, I usually do some calculation prior to the report so that I know what denominators are used. Getting column summaries to use in other summaries generally takes me too much time.&lt;/P&gt;
&lt;P&gt;An example that creates a 1/0 coded value for characteristic of interest and then uses SUM to get the number of 1's and MEAN as percent of 1's, using a percent format to display&lt;/P&gt;
&lt;PRE&gt;DATA Class_height;
	SET sashelp.class;
   short = (height &amp;lt; 60);

RUN;

PROC REPORT DATA = Class_height;
	COLUMN Sex Age Weight=n  short short=shortpct;
	DEFINE Sex      / group;
	DEFINE Age      / group;
	DEFINE n        / n 'subgroup_total'; 
   define short /  sum 'Short Count';
   define shortpct /format=percent8.1 mean 'Percent short';

RUN;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Apr 2022 20:47:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809168#M319075</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2022-04-21T20:47:38Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Report - count and proportion for subgroups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809178#M319076</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;1/0 coded value for characteristic of interest and then uses SUM to get the number of 1's and MEAN as percent of 1's, using a percent format to display&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Thank you, this is excellent. Having a column for each category as a binary outcome (0/1) is a much better approach. I don't why in my head I was overcomplicating XD. I updated my code accordingly so it now also shows the 3 categories (short, medium, tall). Hopefully it will help others who come across this in the future.&lt;/P&gt;
&lt;PRE&gt;DATA Class_height;
     SET sashelp.class;
     short = (height &amp;lt; 60);&lt;BR /&gt;     medium = (60 &amp;lt;= height &amp;lt; 65);
     tall = (height =&amp;gt; 65);
RUN;

PROC REPORT DATA = Class_height;
	COLUMN Sex Age Weight=n  short short=shortpct medium medium=mediumpct tall tall=tallpct ;
	DEFINE Sex       / group;
	DEFINE Age       / group;
	DEFINE n         / n 'Subgroup Total'; 
    DEFINE short     / sum 'Short Count';
    DEFINE shortpct  / format=percent8.1 mean 'Short %';
    DEFINE medium    / sum 'Medium Count';
    DEFINE mediumpct / format=percent8.1 mean 'Medium %';
    DEFINE tall      / sum 'Tall Count';
    DEFINE tallpct   / format=percent8.1 mean 'Tall %';
RUN;&lt;/PRE&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Report: Detailed and/or summarized report" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="c header" scope="col" width="40px"&gt;Sex&lt;/TH&gt;
&lt;TH class="c header" scope="col" width="40px"&gt;Age&lt;/TH&gt;
&lt;TH class="c header" scope="col" width="100px"&gt;Subgroup Total&lt;/TH&gt;
&lt;TH class="c header" scope="col" width="77px"&gt;Short Count&lt;/TH&gt;
&lt;TH class="c header" scope="col" width="65.2833px"&gt;Short %&lt;/TH&gt;
&lt;TH class="c header" scope="col" width="92px"&gt;Medium Count&lt;/TH&gt;
&lt;TH class="c header" scope="col" width="69px"&gt;Medium %&lt;/TH&gt;
&lt;TH class="c header" scope="col" width="66px"&gt;Tall Count&lt;/TH&gt;
&lt;TH class="c header" scope="col" width="65.2833px"&gt;Tall %&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="40px" class="l data"&gt;F&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;11&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;100.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="c data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;12&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;100.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="c data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;13&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;50.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;50.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="c data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;14&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;100.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="c data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;15&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;50.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;50.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="l data"&gt;M&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;11&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;100.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="c data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;12&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;3&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;66.7%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;33.3%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="c data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;13&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;100.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="c data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;14&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;50.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;50.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="c data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;15&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;100.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="40px" class="c data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="40px" class="r data"&gt;16&lt;/TD&gt;
&lt;TD width="100px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="77px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="92px" class="r data"&gt;0&lt;/TD&gt;
&lt;TD width="69px" class="r data"&gt;0.0%&lt;/TD&gt;
&lt;TD width="66px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="65.2833px" class="r data"&gt;100.0%&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Thu, 21 Apr 2022 21:28:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809178#M319076</guid>
      <dc:creator>DougHold</dc:creator>
      <dc:date>2022-04-21T21:28:32Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Report - count and proportion for subgroups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809181#M319077</link>
      <description>&lt;P&gt;And another way to get a similar report with a different procedure:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc format;
value ht
low - &amp;lt; 60='Short'
60 -  &amp;lt; 65='Medium'
65 - high ='Tall';
run;
proc tabulate data=sashelp.class;
   class sex age height;
   format height ht.;
   tables sex*age,
          n='Group count' height*(n='count' rowpctn='percent')
          /misstext=' '
   ;
run;
&lt;/PRE&gt;
&lt;P&gt;Tabulate may have a few more options for denominators with row, col, page and report. and use of n (categorical or class variables) or Sum (of Var variables not used). Note that the use a format makes the code pretty flexible, change the format definition used and change the report categories. What Tabulate will not due generally is allow use of results of other statistics to be used in calculation (no COMPUTE BLOCK), character variables may only be class and on the row or column heading and different places for things like labels and style overrides.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tabulate is, at least in my opinion, easier to deal with nested column headings. It also will create multiple tables with one pass of the procedure:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 22 Apr 2022 14:45:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809181#M319077</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2022-04-22T14:45:03Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Report - count and proportion for subgroups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809322#M319141</link>
      <description>This works well too, thanks!</description>
      <pubDate>Fri, 22 Apr 2022 14:43:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Report-count-and-proportion-for-subgroups/m-p/809322#M319141</guid>
      <dc:creator>DougHold</dc:creator>
      <dc:date>2022-04-22T14:43:01Z</dc:date>
    </item>
  </channel>
</rss>

