<?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: PROC REPORT - COUNT and PERCENTAGES? in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/PROC-REPORT-COUNT-and-PERCENTAGES/m-p/520141#M3954</link>
    <description>&lt;P&gt;Depending on the specific type of percentage needed sometimes Proc Tabulate is easier than Proc Report.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the example below shows separate tables for the count and percentages as shown plus another table with both present.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
length SEGMENT $9 CLASS $2;
input SEGMENT CLASS COUNT;
datalines;
SEGMENT_1 X1 25
SEGMENT_1 X2 26
SEGMENT_1 Y1 42
SEGMENT_1 Y2 25
SEGMENT_2 X1 46
SEGMENT_2 X2 25
SEGMENT_2 Y1 21
SEGMENT_2 Y2 42
SEGMENT_3 X1 37
SEGMENT_3 X2 38
SEGMENT_3 Y1 44
SEGMENT_3 Y2 18
;
run;

proc tabulate data=have;
   class segment class;
   freq count;
   table segment='' all='Total',
         (class='' all='Total')*n=''
         /box=segment
   ;
   table segment='' all='Percentage',
         (class='' all='Percentage')*rowpctn=''*f=best3.
         /box=segment
   ;
   table segment='' all='Total',
         (class='' all='Total')*(n='Count' rowpctn='%'*f=best3.)
         /box=segment
   ;
 
run;&lt;/PRE&gt;
&lt;P&gt;Tabulate by default shows percentagess without a % and have the values as multiplied by 100 and shows 2 decimal places. If you want the % character a custom format would be needed with your data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 10 Dec 2018 20:45:58 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2018-12-10T20:45:58Z</dc:date>
    <item>
      <title>PROC REPORT - COUNT and PERCENTAGES?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/PROC-REPORT-COUNT-and-PERCENTAGES/m-p/520116#M3946</link>
      <description>&lt;P&gt;Hi everyone.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried a lot but could not get the results I desired in Proc Report. What I want to do is getting counts and percentages based on segment and class.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Inputs are below;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;length SEGMENT $9 CLASS $2;&lt;/P&gt;&lt;P&gt;input SEGMENT CLASS COUNT;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;SEGMENT_1 X1 25&lt;/P&gt;&lt;P&gt;SEGMENT_1 X2 26&lt;/P&gt;&lt;P&gt;SEGMENT_1 Y1 42&lt;/P&gt;&lt;P&gt;SEGMENT_1 Y2 25&lt;/P&gt;&lt;P&gt;SEGMENT_2 X1 46&lt;/P&gt;&lt;P&gt;SEGMENT_2 X2 25&lt;/P&gt;&lt;P&gt;SEGMENT_2 Y1 21&lt;/P&gt;&lt;P&gt;SEGMENT_2 Y2 42&lt;/P&gt;&lt;P&gt;SEGMENT_3 X1 37&lt;/P&gt;&lt;P&gt;SEGMENT_3 X2 38&lt;/P&gt;&lt;P&gt;SEGMENT_3 Y1 44&lt;/P&gt;&lt;P&gt;SEGMENT_3 Y2 18&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Desired Results;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1) Counts&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENT&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;X1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;X2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Y1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Y2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;TOTAL&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENT_1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;25&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;26&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;42&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;25&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;118&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENT_2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;46&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;25&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;21&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;42&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;134&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENT_3&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;37&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;38&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;44&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;18&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;137&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;TOTAL&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;108&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;89&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;107&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;85&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;389&lt;/STRONG&gt;&lt;/P&gt;&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;STRONG&gt;2) Percentages &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENT&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;X1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;X2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Y1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Y2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;PERCENTAGE&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENT_1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;21%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;22%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;36%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;21%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100%&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENT_2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;34%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;19%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;31%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100%&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENT_3&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;27%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;32%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;13%&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100%&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;PERCENTAGE&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;28%&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;23%&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;28%&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;22%&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;100%&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance for your help.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Dec 2018 19:33:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/PROC-REPORT-COUNT-and-PERCENTAGES/m-p/520116#M3946</guid>
      <dc:creator>gibsonsg</dc:creator>
      <dc:date>2018-12-10T19:33:39Z</dc:date>
    </item>
    <item>
      <title>Re: PROC REPORT - COUNT and PERCENTAGES?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/PROC-REPORT-COUNT-and-PERCENTAGES/m-p/520141#M3954</link>
      <description>&lt;P&gt;Depending on the specific type of percentage needed sometimes Proc Tabulate is easier than Proc Report.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the example below shows separate tables for the count and percentages as shown plus another table with both present.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
length SEGMENT $9 CLASS $2;
input SEGMENT CLASS COUNT;
datalines;
SEGMENT_1 X1 25
SEGMENT_1 X2 26
SEGMENT_1 Y1 42
SEGMENT_1 Y2 25
SEGMENT_2 X1 46
SEGMENT_2 X2 25
SEGMENT_2 Y1 21
SEGMENT_2 Y2 42
SEGMENT_3 X1 37
SEGMENT_3 X2 38
SEGMENT_3 Y1 44
SEGMENT_3 Y2 18
;
run;

proc tabulate data=have;
   class segment class;
   freq count;
   table segment='' all='Total',
         (class='' all='Total')*n=''
         /box=segment
   ;
   table segment='' all='Percentage',
         (class='' all='Percentage')*rowpctn=''*f=best3.
         /box=segment
   ;
   table segment='' all='Total',
         (class='' all='Total')*(n='Count' rowpctn='%'*f=best3.)
         /box=segment
   ;
 
run;&lt;/PRE&gt;
&lt;P&gt;Tabulate by default shows percentagess without a % and have the values as multiplied by 100 and shows 2 decimal places. If you want the % character a custom format would be needed with your data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Dec 2018 20:45:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/PROC-REPORT-COUNT-and-PERCENTAGES/m-p/520141#M3954</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-12-10T20:45:58Z</dc:date>
    </item>
    <item>
      <title>Re: PROC REPORT - COUNT and PERCENTAGES?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/PROC-REPORT-COUNT-and-PERCENTAGES/m-p/520147#M3957</link>
      <description>&lt;P&gt;PROC SUMMARY will give you a table that has everything you need to get your desired output #1, but there's a little trick needed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A simple data step will then allow you to obtain the percentages and then output #2.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc summary data=have;
	class segment class;
	var count;
	output out=sums sum=;
run;

data sums; /* This is the trick that allows totals to appear */
	length class $ 4;
	set sums;
	if missing(segment) then segment='ZZZZ';
	if missing(class) then class='ZZZZ';
run;

proc format;
	value $segf 'ZZZZ'='Total';
	value $classf 'ZZZZ'='Total';
run;

proc report data=sums;
    columns segment class,count;
    define segment/group format=$segf9. order=internal;
    define class/across format=$classf. order=internal;
    define count/analysis sum;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Dec 2018 20:57:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/PROC-REPORT-COUNT-and-PERCENTAGES/m-p/520147#M3957</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-12-10T20:57:50Z</dc:date>
    </item>
  </channel>
</rss>

