<?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: Formatting Proc Tabulate Output in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106885#M29779</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi:&lt;/P&gt;&lt;P&gt;&amp;nbsp; The code in the paper and the explanation in the paper and on the slides is REALLY too long to post here. You &lt;SPAN style="text-decoration: underline;"&gt;could&lt;/SPAN&gt; apply bolding to TABULATE output and you &lt;SPAN style="text-decoration: underline;"&gt;could&lt;/SPAN&gt; apply underlining to TABULATE headers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; But the bottom line is that to do the same report and change the information in a single COLUMN, based on the value of a different COLUMN on the report will require either PROC REPORT and CALL DEFINE (Examples 1 and 1a in the paper) or a custom TABLE template (Example 8). In my opinion, TABULATE does not have quite enough flexibility such as you get with the COMPUTE block and/or CALL DEFINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Did you run the code in the paper from the ZIP file? Look at where the explanation for Example 1 starts on page 9 of the paper, summarized as Steps 1, 2 and 3&amp;nbsp; -- these 3 steps are all accomplished in the &lt;STRONG&gt;complex1_demog.sas&lt;/STRONG&gt; program file. The patient data file is in the zip download. You need to make sure you have a LIBNAME that points to the location of the data. In my program, I made the LIBNAME make a libref called "COMPLEX" and the physical location for the data was in c:\complex directory. If you unzip the data to a different physical location, then you will need to change the LIBNAME statement accordingly. The code was originally written for SAS 9.1.3, so you will need at least that version of SAS to run the programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The steps are further explained on slides in the &lt;STRONG&gt;Complex_Reports_SGF.pdf&lt;/STRONG&gt; file of slides in the download. For example, compare the original patient data on page 8 of the slides with the final data set shown on page 10 of the slides (the final dataset has these variables: BRKVAR GRPORD ROWORD VARINFO VALUE) -- my PROC REPORT step depends on this final (summarized) structure to the (summarized) data.BRKVAR, GRPORD and ROWORD are used as NOPRINT items in the PROC REPORT code. (Something that you cannot do with TABULATE.) VARINFO is the equivalent of what you show in your first column above. VALUE is the equivalent of what you show in your second column above. Both VARINFO and VALUE are character variables. If your N and PCTN can be in separate columns on the report, then you would not need PROC REPORT. However, if your N and PCTN must be like this: N (PCTN%) in one column, then you need to make a character variable from 2 separate numeric variables with the appropriate punctuation in the character variable (the parens and the percent sign). Once the data are restructured, I can use them as shown in the complete PROC REPORT code on pages 10 and 11 on the slides. Neither the paper, nor the slides really go into detail about how the data was restructured -- but complex1_demog.sas contains a SAS Macro program that either runs PROC FREQ or PROC MEANS, as appropriate for the desired statistics and then creates the BRKVAR, GRPORD and ROWORD variables, as well as creating the VARINFO and VALUE variables. For example the N and PCTN are created like this (assuming that you have gotten COUNT and PERCENT separately from a PROC FREQ-created dataset):&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; value = put(count, 3.)||' ('||put(percent, 6.2)||')';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; but that is just a little snippet out of a much longer program.&lt;/P&gt;&lt;P&gt;&amp;nbsp; When I present this paper at user group meetings, it generally takes almost an hour to get through an explanation of the macro code and the PROC REPORT code in &lt;STRONG&gt;complex1_demog.sas&lt;/STRONG&gt;. If you have already built your summary data set and you have already created your columns (and although I can't see your variable names) -- which it seems from the above posting that you have already done some of the summary work, then you may be able to skip to the PROC REPORT step. However, if your data does not have BRKVAR, GRPORD and ROWORD, then you will not be able to use my code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; For example, in order to do the bolding of the headers, I have this in the code:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; compute varinfo ;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if roword = 1 then do;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call define(_col_,'style',&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "style={font_weight=bold}");&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else do;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call define(_col_,'style',&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "style={font_weight=medium leftmargin=12pt}");&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; endcomp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note how ROWORD variable is used to determine whethe the row should be bolded or not. That is how the bolding happens. Without ROWORD, the bolding won't happen as easily. On the ELSE branch, the LEFTMARGIN=12pt is the style attribute that indents the other values for VARINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; To get the "Patient Characteristics" and the N at the top -- all underlined, this section of code (using COMPUTE BEFORE _PAGE_) was how it happened. At the time I wrote the paper, the TEXTDECORATION style attribute for underlining was not available yet, so I used the \ul RTF control string to underline these 2 text strings in a COMPUTE block:&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; compute before _page_ / style={just=center font_size=12pt};&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; line "\ul{Patient Characteristics}";&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; line "\ul{(N=&amp;nbsp; &amp;amp;n&amp;nbsp; Patients)}";&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; endcomp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; To get the line "Patient Demographics" underlined, I needed to use BRKVAR, as shown in this COMPUTE block:&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; compute before brkvar / style={just=left font_size=10pt};&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; line "\ul{Patient Demographics}";&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; endcomp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; GRPORD is used to ensure that the report rows appear in the order I desire. (Otherwise, in my report, the string with 'CAD' would have appeared after the string 'Age' and that's not where I wanted CAD category to appear).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I believe that if you carefully compare the final dataset to the final output, especially looking at the numbered arrows on the slide PDF, and carefully examining the values for BRKVAR, GRPORD and ROWORD, you will be able to see how the bolding and indenting all happen using PROC REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Good luck with your report. If you don't quite feel comfortable with PROC REPORT, then I would recommend reviewing some basic user group papers on PROC REPORT before you jump into the complicated stuff.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;cynthia&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 10 May 2012 22:26:21 GMT</pubDate>
    <dc:creator>Cynthia_sas</dc:creator>
    <dc:date>2012-05-10T22:26:21Z</dc:date>
    <item>
      <title>Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106873#M29767</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How do you produce output where parenthses appear in the output? For example, having a mean value followed by a standard deviation (in parentheses) in the same row, or a min/max?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 May 2012 21:21:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106873#M29767</guid>
      <dc:creator>Doug</dc:creator>
      <dc:date>2012-05-07T21:21:13Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106874#M29768</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will try to understand your question:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You have dataset: SASHELP.CLASS and you want to perform a PROC TABULATE on said data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Such as,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC TABULATE DATA=SASHELP.CLASS;&lt;/P&gt;&lt;P&gt;VAR AGE;&lt;/P&gt;&lt;P&gt;CLASS SEX;&lt;/P&gt;&lt;P&gt;TABLE SEX,AGE*(MEAN,STDDEV);&lt;/P&gt;&lt;P&gt;RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This produces output such as:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -----------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |-------------------------|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; Mean&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; StdDev&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |-------------------------------+------------+------------|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |Sex&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |-------------------------------|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |F&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13.22|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.39|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |-------------------------------+------------+------------|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13.40|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.65|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -----------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead of this format you want to see something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -----------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |Sex&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |-------------------------------+-------------------------|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |F&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13.22(1.39)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |-------------------------------+-------------------------|&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13.40(1.65)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -----------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;Is this correct?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 May 2012 21:35:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106874#M29768</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2012-05-07T21:35:50Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106875#M29769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes that's correct - I would like parentheses to appear in the printed output around the s.d. statistic. I would also like to see how this is done in the REPORT procedure.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 May 2012 21:44:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106875#M29769</guid>
      <dc:creator>Doug</dc:creator>
      <dc:date>2012-05-07T21:44:08Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106876#M29770</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;*proc tabulate does not have a noprint option that I am aware of, &lt;/P&gt;&lt;P&gt; so you can choose to turn off ods and reopen it after the step to avoid printing it if necessary.&lt;/P&gt;&lt;P&gt; or use proc summary or others instead of tabulate;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc tabulate data=sashelp.class out=foo(drop=_:);&lt;/P&gt;&lt;P&gt; var age;&lt;/P&gt;&lt;P&gt; class sex;&lt;/P&gt;&lt;P&gt; table sex,age*(mean stddev);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data bar;&lt;/P&gt;&lt;P&gt; set foo;&lt;/P&gt;&lt;P&gt; statistics=cats(put(age_mean,4.2),'(',put(age_stddev,4.3),')');&lt;/P&gt;&lt;P&gt; keep sex statistics;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print data=bar noobs; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 May 2012 21:52:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106876#M29770</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2012-05-07T21:52:55Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106877#M29771</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What about PROC REPORT?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 May 2012 21:56:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106877#M29771</guid>
      <dc:creator>Doug</dc:creator>
      <dc:date>2012-05-07T21:56:15Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106878#M29772</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;None of the SAS procs will do that by default.&lt;/P&gt;&lt;P&gt;You'll need to get some customized reporting developed using either macros or some data manipulation.&lt;/P&gt;&lt;P&gt;There's a lot out there already around this, but you can look into a Macro from the Mayo Clinic that generates output in that format. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 May 2012 23:03:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106878#M29772</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2012-05-07T23:03:14Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106879#M29773</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi:&lt;/P&gt;&lt;P&gt; I have 3 examples of reports like this in my paper Creating Complex Reports. Two examples used PROC REPORT after some data manipulation and 1 example used DATA step and a custom TABLE template.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The paper link:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www2.sas.com/proceedings/forum2008/173-2008.pdf" title="http://www2.sas.com/proceedings/forum2008/173-2008.pdf"&gt;http://www2.sas.com/proceedings/forum2008/173-2008.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cynthia&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2012 00:28:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106879#M29773</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2012-05-08T00:28:26Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106880#M29774</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Cynthia,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've never done this type of reporting in SAS. Can you provide some code examples to me for further study? I am particularly interested in methods to produce Example 1 and Example 8 from your paper.&amp;nbsp; -- Doug&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2012 13:05:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106880#M29774</guid>
      <dc:creator>Doug</dc:creator>
      <dc:date>2012-05-08T13:05:30Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106881#M29775</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi:&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you go to &lt;A href="http://support.sas.com/rnd/papers"&gt;http://support.sas.com/rnd/papers&lt;/A&gt; and search for the papers from 2008, you will see a download where you can find a PDF of the slide presentation and the programs used to create the paper. Do not search for my name, instead search on that page for "Creating Complex Reports" and you will find the link to download the zip file of programs. The programs for 1 and 8 are too long to post here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cynthia&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2012 16:57:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106881#M29775</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2012-05-08T16:57:10Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106882#M29776</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a file which is similar to yours and is laid out in the following format:&lt;/P&gt;&lt;P&gt;Total&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NN&lt;/P&gt;&lt;P&gt;Age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; agex&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NN (%xx.x)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; agey&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NN (%xx.x)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; agez&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NN (%xx.x)&lt;/P&gt;&lt;P&gt;Sex&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NN (%xx.x)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NN (%xx.x)&lt;/P&gt;&lt;P&gt;......&lt;/P&gt;&lt;P&gt;How do I set up proc report to print in journal style for this structure?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 May 2012 12:40:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106882#M29776</guid>
      <dc:creator>Doug</dc:creator>
      <dc:date>2012-05-10T12:40:35Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106883#M29777</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi:&lt;/P&gt;&lt;P&gt;My paper showed how to use JOURNAL style. Using JOURNAL style is unrelated to PROC REPORT. JOURNAL style could be used with ANY procedure. The specification for style usage goes on your ODS invocation statement:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ODS &lt;EM&gt;&amp;lt;dest&amp;gt;&lt;/EM&gt; FILE=&lt;EM&gt;file.ext&lt;/EM&gt; &lt;SPAN style="color: #339966;"&gt;STYLE=&lt;EM&gt;JOURNAL&lt;/EM&gt;&lt;/SPAN&gt;;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;...your code;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ODS &lt;EM&gt;&amp;lt;dest&amp;gt;&lt;/EM&gt; CLOSE;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;cynthia&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 May 2012 12:52:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106883#M29777</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2012-05-10T12:52:40Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106884#M29778</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok - but REPORT is needed to get all the bold categories, underlining, column heads and so forth in the table, correct? If so, this is what I want to do. I apologize for asking so many questions...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 May 2012 13:18:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106884#M29778</guid>
      <dc:creator>Doug</dc:creator>
      <dc:date>2012-05-10T13:18:27Z</dc:date>
    </item>
    <item>
      <title>Re: Formatting Proc Tabulate Output</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106885#M29779</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi:&lt;/P&gt;&lt;P&gt;&amp;nbsp; The code in the paper and the explanation in the paper and on the slides is REALLY too long to post here. You &lt;SPAN style="text-decoration: underline;"&gt;could&lt;/SPAN&gt; apply bolding to TABULATE output and you &lt;SPAN style="text-decoration: underline;"&gt;could&lt;/SPAN&gt; apply underlining to TABULATE headers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; But the bottom line is that to do the same report and change the information in a single COLUMN, based on the value of a different COLUMN on the report will require either PROC REPORT and CALL DEFINE (Examples 1 and 1a in the paper) or a custom TABLE template (Example 8). In my opinion, TABULATE does not have quite enough flexibility such as you get with the COMPUTE block and/or CALL DEFINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Did you run the code in the paper from the ZIP file? Look at where the explanation for Example 1 starts on page 9 of the paper, summarized as Steps 1, 2 and 3&amp;nbsp; -- these 3 steps are all accomplished in the &lt;STRONG&gt;complex1_demog.sas&lt;/STRONG&gt; program file. The patient data file is in the zip download. You need to make sure you have a LIBNAME that points to the location of the data. In my program, I made the LIBNAME make a libref called "COMPLEX" and the physical location for the data was in c:\complex directory. If you unzip the data to a different physical location, then you will need to change the LIBNAME statement accordingly. The code was originally written for SAS 9.1.3, so you will need at least that version of SAS to run the programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The steps are further explained on slides in the &lt;STRONG&gt;Complex_Reports_SGF.pdf&lt;/STRONG&gt; file of slides in the download. For example, compare the original patient data on page 8 of the slides with the final data set shown on page 10 of the slides (the final dataset has these variables: BRKVAR GRPORD ROWORD VARINFO VALUE) -- my PROC REPORT step depends on this final (summarized) structure to the (summarized) data.BRKVAR, GRPORD and ROWORD are used as NOPRINT items in the PROC REPORT code. (Something that you cannot do with TABULATE.) VARINFO is the equivalent of what you show in your first column above. VALUE is the equivalent of what you show in your second column above. Both VARINFO and VALUE are character variables. If your N and PCTN can be in separate columns on the report, then you would not need PROC REPORT. However, if your N and PCTN must be like this: N (PCTN%) in one column, then you need to make a character variable from 2 separate numeric variables with the appropriate punctuation in the character variable (the parens and the percent sign). Once the data are restructured, I can use them as shown in the complete PROC REPORT code on pages 10 and 11 on the slides. Neither the paper, nor the slides really go into detail about how the data was restructured -- but complex1_demog.sas contains a SAS Macro program that either runs PROC FREQ or PROC MEANS, as appropriate for the desired statistics and then creates the BRKVAR, GRPORD and ROWORD variables, as well as creating the VARINFO and VALUE variables. For example the N and PCTN are created like this (assuming that you have gotten COUNT and PERCENT separately from a PROC FREQ-created dataset):&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; value = put(count, 3.)||' ('||put(percent, 6.2)||')';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; but that is just a little snippet out of a much longer program.&lt;/P&gt;&lt;P&gt;&amp;nbsp; When I present this paper at user group meetings, it generally takes almost an hour to get through an explanation of the macro code and the PROC REPORT code in &lt;STRONG&gt;complex1_demog.sas&lt;/STRONG&gt;. If you have already built your summary data set and you have already created your columns (and although I can't see your variable names) -- which it seems from the above posting that you have already done some of the summary work, then you may be able to skip to the PROC REPORT step. However, if your data does not have BRKVAR, GRPORD and ROWORD, then you will not be able to use my code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; For example, in order to do the bolding of the headers, I have this in the code:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; compute varinfo ;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if roword = 1 then do;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call define(_col_,'style',&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "style={font_weight=bold}");&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else do;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call define(_col_,'style',&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "style={font_weight=medium leftmargin=12pt}");&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;&amp;nbsp; endcomp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note how ROWORD variable is used to determine whethe the row should be bolded or not. That is how the bolding happens. Without ROWORD, the bolding won't happen as easily. On the ELSE branch, the LEFTMARGIN=12pt is the style attribute that indents the other values for VARINFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; To get the "Patient Characteristics" and the N at the top -- all underlined, this section of code (using COMPUTE BEFORE _PAGE_) was how it happened. At the time I wrote the paper, the TEXTDECORATION style attribute for underlining was not available yet, so I used the \ul RTF control string to underline these 2 text strings in a COMPUTE block:&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; compute before _page_ / style={just=center font_size=12pt};&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; line "\ul{Patient Characteristics}";&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; line "\ul{(N=&amp;nbsp; &amp;amp;n&amp;nbsp; Patients)}";&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; endcomp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; To get the line "Patient Demographics" underlined, I needed to use BRKVAR, as shown in this COMPUTE block:&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; compute before brkvar / style={just=left font_size=10pt};&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; line "\ul{Patient Demographics}";&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; endcomp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; GRPORD is used to ensure that the report rows appear in the order I desire. (Otherwise, in my report, the string with 'CAD' would have appeared after the string 'Age' and that's not where I wanted CAD category to appear).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I believe that if you carefully compare the final dataset to the final output, especially looking at the numbered arrows on the slide PDF, and carefully examining the values for BRKVAR, GRPORD and ROWORD, you will be able to see how the bolding and indenting all happen using PROC REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Good luck with your report. If you don't quite feel comfortable with PROC REPORT, then I would recommend reviewing some basic user group papers on PROC REPORT before you jump into the complicated stuff.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;cynthia&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 May 2012 22:26:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Formatting-Proc-Tabulate-Output/m-p/106885#M29779</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2012-05-10T22:26:21Z</dc:date>
    </item>
  </channel>
</rss>

