<?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 Tabulate  column percentage in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/473411#M121485</link>
    <description>&lt;P&gt;Thank you, Ballardw. Your program was helpful. I wonder if there is a way to generate cross statistics without using proc tabulate.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id sex$ race$ age agecat$;
datalines;
01	F	W	66	60-70
02	F	B	87	80-90
03	M	W	63	60-70
04	M	A	79	70-80
05	M	W	75	70-80
06	M	U	72	70-80
07	F	W	66	60-70
08	F	B	87	80-90
09	M	W	63	60-70
10	M	A	79	70-80
11	M	W	75	70-80
12	M	U	72	70-80
;

proc format;
value age 18-54= '18-54 years'
          55-69= '55-69 years'
		  70-high= '70+ years';
 value $ sex 
 M = 'Males'
 F = 'Females';
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The output I would like to have:&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;Descriptives&lt;/TD&gt;&lt;TD&gt;Overall Cohort&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Males&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Females&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Age&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;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Mean&lt;/TD&gt;&lt;TD&gt;Standard Deviation&lt;/TD&gt;&lt;TD&gt;Mean&lt;/TD&gt;&lt;TD&gt;Standard Deviation&lt;/TD&gt;&lt;TD&gt;Mean&lt;/TD&gt;&lt;TD&gt;Standard Deviation&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Minimum&lt;/TD&gt;&lt;TD&gt;Maximum&lt;/TD&gt;&lt;TD&gt;Minimum&lt;/TD&gt;&lt;TD&gt;Maximum&lt;/TD&gt;&lt;TD&gt;Minimum&lt;/TD&gt;&lt;TD&gt;Maximum&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;25% IQR&lt;/TD&gt;&lt;TD&gt;75% IQR&lt;/TD&gt;&lt;TD&gt;25% IQR&lt;/TD&gt;&lt;TD&gt;75% IQR&lt;/TD&gt;&lt;TD&gt;25% IQR&lt;/TD&gt;&lt;TD&gt;75% IQR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Age Group&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;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;60-70&amp;nbsp;years&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;70-80&amp;nbsp;years&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;80-90&amp;nbsp;years&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 26 Jun 2018 14:41:38 GMT</pubDate>
    <dc:creator>Tomcaty</dc:creator>
    <dc:date>2018-06-26T14:41:38Z</dc:date>
    <item>
      <title>Proc Tabulate  column percentage</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/472311#M121092</link>
      <description>&lt;P&gt;Hello all,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to generate means and frequency procedure for age group stratified by gender at the same time. I am using the&amp;nbsp; program below. Its only generating the 'n' for the age category. I tried to include 'colpctn' but still could'nt get the required output.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id sex$ race$ age agecat$;
datalines;
01	F	W	66	60-70
02	F	B	87	80-90
03	M	W	63	60-70
04	M	A	79	70-80
05	M	W	75	70-80
06	M	U	72	70-80
07	F	W	66	60-70
08	F	B	87	80-90
09	M	W	63	60-70
10	M	A	79	70-80
11	M	W	75	70-80
12	M	U	72	70-80
;

proc format;
value age 18-54= '18-54 years'
          55-69= '55-69 years'
		  70-high= '70+ years';
 value $ sex 
 M = 'Males'
 F = 'Females';
run;

proc tabulate data=have;
 class sex agecat;
 var age;
  format age age.;
 table 
 (agecat= 'Age Category' all) *[style=[just=C cellwidth=95 ] ] 
 age= 'Age'*  
 (n = 'N' * [style=[just=C cellwidth=95 ] ]
 Mean = 'Mean' * [style=[just=C cellwidth=95 ] f=8.1]
 Std = 'SD' * [style=[just=C cellwidth=95 ] ]
 Median = 'Med' * [style=[just=C cellwidth=95 ] f=8.1]
 Min = 'Min' * [style=[just=C cellwidth=95 ] ]
 Max = 'Max' * [style=[just=C cellwidth=95 ] ]),
  (sex= '' all= 'All');
 format sex $sex. age age.;
 run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am looking for the output as below:&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;Females&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Males&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;All&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;age cat&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;Column percent&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;Column percent&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;Column percent&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;60-70&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;25&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;33.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;70-80&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;75&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;50.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;80-90&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;16.7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;All&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;4&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;TD&gt;12&lt;/TD&gt;&lt;TD&gt;100.0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Mean&lt;/TD&gt;&lt;TD&gt;76.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;72.3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;73.7&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SD&lt;/TD&gt;&lt;TD&gt;12.12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;6.3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;8.35&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Med&lt;/TD&gt;&lt;TD&gt;76.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;73.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;73.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Min&lt;/TD&gt;&lt;TD&gt;66&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;63&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;63&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Max&lt;/TD&gt;&lt;TD&gt;87&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;79&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;87&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jun 2018 22:12:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/472311#M121092</guid>
      <dc:creator>Tomcaty</dc:creator>
      <dc:date>2018-06-21T22:12:44Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Tabulate  column percentage</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/472528#M121170</link>
      <description>&lt;P&gt;Proc Tabulate is &lt;STRONG&gt;not&lt;/STRONG&gt; going to allow crossing statistics. In your example the "colpctn" would be attempting to cross with the statistics mean, std etc.&lt;/P&gt;
&lt;P&gt;You can get close with two table statements.&lt;/P&gt;
&lt;PRE&gt;proc tabulate data=have;
   class sex agecat;
   var age;
   format age age.;
   table 
      (agecat= 'Age Category' all),
      (sex= '' all= 'All')*(n colpctn)
      /misstext=' '
   ;
   
   table 
      age= 'Age'*  
      (n = 'N' * [style=[just=C cellwidth=95 ] ]
      Mean = 'Mean' * [style=[just=C cellwidth=95 ] f=8.1]
      Std = 'SD' * [style=[just=C cellwidth=95 ] ]
      Median = 'Med' * [style=[just=C cellwidth=95 ] f=8.1]
      Min = 'Min' * [style=[just=C cellwidth=95 ] ]
      Max = 'Max' * [style=[just=C cellwidth=95 ] ]),
      (sex= '' all= 'All')
   ;
   format sex $sex. age age.;
run;&lt;/PRE&gt;
&lt;P&gt;If you absolutely must have a single table with that appearance I am afraid that you will 1) have to presummarize all the data and 2) look into either a data step and severe recoding and Proc Print or Report&amp;nbsp;or the Report Writing Interface (a different use of the data step).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note that the above proc tabulate code would create the summarized data with the use of an OUT=&amp;lt;datasetname&amp;gt; option on the proc tabulate statement. Though it takes awhile to work through the logic of the dataset structure to identify the bits you want. You would be creating your own row heading variables conditionally based on the table (a variable in the output).&lt;/P&gt;</description>
      <pubDate>Fri, 22 Jun 2018 15:53:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/472528#M121170</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-06-22T15:53:20Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Tabulate  column percentage</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/473411#M121485</link>
      <description>&lt;P&gt;Thank you, Ballardw. Your program was helpful. I wonder if there is a way to generate cross statistics without using proc tabulate.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id sex$ race$ age agecat$;
datalines;
01	F	W	66	60-70
02	F	B	87	80-90
03	M	W	63	60-70
04	M	A	79	70-80
05	M	W	75	70-80
06	M	U	72	70-80
07	F	W	66	60-70
08	F	B	87	80-90
09	M	W	63	60-70
10	M	A	79	70-80
11	M	W	75	70-80
12	M	U	72	70-80
;

proc format;
value age 18-54= '18-54 years'
          55-69= '55-69 years'
		  70-high= '70+ years';
 value $ sex 
 M = 'Males'
 F = 'Females';
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The output I would like to have:&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;Descriptives&lt;/TD&gt;&lt;TD&gt;Overall Cohort&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Males&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Females&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Age&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;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Mean&lt;/TD&gt;&lt;TD&gt;Standard Deviation&lt;/TD&gt;&lt;TD&gt;Mean&lt;/TD&gt;&lt;TD&gt;Standard Deviation&lt;/TD&gt;&lt;TD&gt;Mean&lt;/TD&gt;&lt;TD&gt;Standard Deviation&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Minimum&lt;/TD&gt;&lt;TD&gt;Maximum&lt;/TD&gt;&lt;TD&gt;Minimum&lt;/TD&gt;&lt;TD&gt;Maximum&lt;/TD&gt;&lt;TD&gt;Minimum&lt;/TD&gt;&lt;TD&gt;Maximum&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;25% IQR&lt;/TD&gt;&lt;TD&gt;75% IQR&lt;/TD&gt;&lt;TD&gt;25% IQR&lt;/TD&gt;&lt;TD&gt;75% IQR&lt;/TD&gt;&lt;TD&gt;25% IQR&lt;/TD&gt;&lt;TD&gt;75% IQR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Age Group&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;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;60-70&amp;nbsp;years&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;70-80&amp;nbsp;years&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;80-90&amp;nbsp;years&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;TD&gt;N&lt;/TD&gt;&lt;TD&gt;%&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Jun 2018 14:41:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/473411#M121485</guid>
      <dc:creator>Tomcaty</dc:creator>
      <dc:date>2018-06-26T14:41:38Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Tabulate  column percentage</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/473531#M121535</link>
      <description>&lt;P&gt;Yes, I've done that. And generated printer markup code to make "table" appearances that weren't available in procedures (circa 1987)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Report Writing Interface for the data step likely could do this into a single table. You would have to presummarize all of the data and calculate the rates you want then use the interface to display the values in the order you want.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Considering the amount of work I know that would be I can use the proc tabulate approach and remove a blank line unless there are MANY of these tables to generate.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sometimes it is worth talking to the consumer of the report about how fanatical the results have to match a proposed layout.&lt;/P&gt;
&lt;P&gt;If I show someone the two table proc tabulate approach and demonstrate we can make multiple sets of these easily (program time per set) and then document the approaches needed to exactly match a layout and discuss programmer time*pay and response time it might be amazing how quickly "pretty close" gets excepted. If the user is willing to pay the extra time and programming costs for "exact" then happily bill them for the time.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I worked in one shop that had a customer that wanted some report tables in a specific layout. They had developed a process to create them users features of their then current reporting software. The next "upgrade" removed some of the features used to create the customer's table layout. They maintained one computer with the old version of the software just to create that report appearance. Then a Microsoft operating system upgrade came along an the old software no longer worked. After a discussion with the client a new table layout that closely resembled the old one was accepted. Which could have saved LOTS of billable hours over the course of several years if the proposal had been discussed earlier. (Actual the bills wouldn't have gone down so the effect would have been more profit on our side. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Jun 2018 19:36:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/473531#M121535</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-06-26T19:36:27Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Tabulate  column percentage</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/473542#M121543</link>
      <description>Thank you, Ballardw. The user wants the exact layout for the table and I don't have any idea how the RWI (report writing interface) works &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;</description>
      <pubDate>Tue, 26 Jun 2018 20:45:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Tabulate-column-percentage/m-p/473542#M121543</guid>
      <dc:creator>Tomcaty</dc:creator>
      <dc:date>2018-06-26T20:45:31Z</dc:date>
    </item>
  </channel>
</rss>

