<?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: Omitting individual information to display in the Proc Tabulate in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Omitting-individual-information-to-display-in-the-Proc-Tabulate/m-p/12335#M1637</link>
    <description>Hi:&lt;BR /&gt;
  This is really not the kind of thing you can do with PROC TABULATE without either pre-processing or post-processing the data.&lt;BR /&gt;
&lt;BR /&gt;
  It would be far easier to do this kind of thing with PROC REPORT because with PROC REPORT, you could test the vaue of N on every report row and if N=1, then you could assign missing to the Value variable. This ability to use programming logic involves the use of COMPUTE blocks in PROC REPORT -- that's why PROC REPORT is a better choice for this report than TABULATE.&lt;BR /&gt;
&lt;BR /&gt;
Let's say that you had variables named REG and VAL and you wanted to have a PROC REPORT step that would be a summary report of this data (WORK.REGDATA):&lt;BR /&gt;
[pre]&lt;BR /&gt;
REG          FIRM     VAL&lt;BR /&gt;
  &lt;BR /&gt;
East          aaa     175&lt;BR /&gt;
South         aa1     200&lt;BR /&gt;
South         aa2     200&lt;BR /&gt;
South         aa3     200&lt;BR /&gt;
South         aa4     200&lt;BR /&gt;
South         aa5     200&lt;BR /&gt;
South         aa6     200&lt;BR /&gt;
South         aa7     200&lt;BR /&gt;
South         aa8     200&lt;BR /&gt;
South         aa9     200&lt;BR /&gt;
South         aa10    200&lt;BR /&gt;
South west    bb1     150&lt;BR /&gt;
South west    bb2     150&lt;BR /&gt;
South west    bb3     150&lt;BR /&gt;
South west    bb4     150&lt;BR /&gt;
South west    bb5     150&lt;BR /&gt;
North         zzz     200&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
Note that East and North each only have 1 observation in the data. This PROC REPORT program would set the summary information for VAL to missing for North and East. The Options statement turns the display of the missing value to x instead of the usual '.' -- and then the COMPUTE AFTER block uses a LINE statement to write the message about the meaning of the x for missing values.&lt;BR /&gt;
 &lt;BR /&gt;
[pre]&lt;BR /&gt;
options missing = 'x';&lt;BR /&gt;
   &lt;BR /&gt;
ods html file='c:\temp\regrept.html' style=sasweb;&lt;BR /&gt;
   &lt;BR /&gt;
proc report data=regdata nowd;&lt;BR /&gt;
  column reg n val;&lt;BR /&gt;
  define reg / group order=data 'Region';&lt;BR /&gt;
  define n / 'Firm (n)';&lt;BR /&gt;
  define val / sum f=dollar12.2;&lt;BR /&gt;
  compute val;&lt;BR /&gt;
    if n = 1 then&lt;BR /&gt;
       val.sum = .;&lt;BR /&gt;
  endcomp;&lt;BR /&gt;
  compute after;&lt;BR /&gt;
    line '(x)= Numeric data omitted to avoid individualization of information.';&lt;BR /&gt;
  endcomp;&lt;BR /&gt;
run;&lt;BR /&gt;
 &lt;BR /&gt;
ods html close;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
  &lt;BR /&gt;
For more help with PROC REPORT or with COMPUTE blocks, your best bet is to read the PROC REPORT documentation and examples. In particular, Technical Report P-258 is very helpful for use in "batch" or the non-windowing environment ( &lt;A href="http://support.sas.com/documentation/onlinedoc/v82/techreport_p258.pdf" target="_blank"&gt;http://support.sas.com/documentation/onlinedoc/v82/techreport_p258.pdf&lt;/A&gt; ). You could also consult with Tech Support for help with your particular report needs.&lt;BR /&gt;
 &lt;BR /&gt;
cynthia</description>
    <pubDate>Sun, 20 Apr 2008 21:50:32 GMT</pubDate>
    <dc:creator>Cynthia_sas</dc:creator>
    <dc:date>2008-04-20T21:50:32Z</dc:date>
    <item>
      <title>Omitting individual information to display in the Proc Tabulate</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Omitting-individual-information-to-display-in-the-Proc-Tabulate/m-p/12334#M1636</link>
      <description>Dears,&lt;BR /&gt;
I´d like to do a simple task but unfortunately I didn´t find a solution to this (in the manner of it is simple and automatic).&lt;BR /&gt;
&lt;BR /&gt;
I´am producing a large amount of tables using proc tabulate and in no one of them can appear the value (monetary) of individual observation, for discloser question.&lt;BR /&gt;
&lt;BR /&gt;
I´d like to know if its possible do build a new "proc tabulate" that can do this for me automatic, as example below.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Instead of :&lt;BR /&gt;
Expenditures with employee&lt;BR /&gt;
&lt;BR /&gt;
Regions....................Firm (n)...Value (US$) &lt;BR /&gt;
South.........................10..........2.000,00&lt;BR /&gt;
South west...................5..........1.500,00&lt;BR /&gt;
North...........................1.............200,00&lt;BR /&gt;
&lt;BR /&gt;
I´d like of:&lt;BR /&gt;
&lt;BR /&gt;
Regions....................Firm (n)...Value (US$) &lt;BR /&gt;
South.........................10..........2.000,00&lt;BR /&gt;
South west...................5..........1.500,00&lt;BR /&gt;
North...........................1....................(x)&lt;BR /&gt;
&lt;BR /&gt;
(x)= Numeric data omitted to avoid individualization of information.&lt;BR /&gt;
&lt;BR /&gt;
Sincerely&lt;BR /&gt;
&lt;BR /&gt;
Edmundo&lt;BR /&gt;
Campinas State University&lt;BR /&gt;
Science and Policy Unit Research</description>
      <pubDate>Sun, 20 Apr 2008 19:29:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Omitting-individual-information-to-display-in-the-Proc-Tabulate/m-p/12334#M1636</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-04-20T19:29:37Z</dc:date>
    </item>
    <item>
      <title>Re: Omitting individual information to display in the Proc Tabulate</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Omitting-individual-information-to-display-in-the-Proc-Tabulate/m-p/12335#M1637</link>
      <description>Hi:&lt;BR /&gt;
  This is really not the kind of thing you can do with PROC TABULATE without either pre-processing or post-processing the data.&lt;BR /&gt;
&lt;BR /&gt;
  It would be far easier to do this kind of thing with PROC REPORT because with PROC REPORT, you could test the vaue of N on every report row and if N=1, then you could assign missing to the Value variable. This ability to use programming logic involves the use of COMPUTE blocks in PROC REPORT -- that's why PROC REPORT is a better choice for this report than TABULATE.&lt;BR /&gt;
&lt;BR /&gt;
Let's say that you had variables named REG and VAL and you wanted to have a PROC REPORT step that would be a summary report of this data (WORK.REGDATA):&lt;BR /&gt;
[pre]&lt;BR /&gt;
REG          FIRM     VAL&lt;BR /&gt;
  &lt;BR /&gt;
East          aaa     175&lt;BR /&gt;
South         aa1     200&lt;BR /&gt;
South         aa2     200&lt;BR /&gt;
South         aa3     200&lt;BR /&gt;
South         aa4     200&lt;BR /&gt;
South         aa5     200&lt;BR /&gt;
South         aa6     200&lt;BR /&gt;
South         aa7     200&lt;BR /&gt;
South         aa8     200&lt;BR /&gt;
South         aa9     200&lt;BR /&gt;
South         aa10    200&lt;BR /&gt;
South west    bb1     150&lt;BR /&gt;
South west    bb2     150&lt;BR /&gt;
South west    bb3     150&lt;BR /&gt;
South west    bb4     150&lt;BR /&gt;
South west    bb5     150&lt;BR /&gt;
North         zzz     200&lt;BR /&gt;
[/pre]&lt;BR /&gt;
&lt;BR /&gt;
Note that East and North each only have 1 observation in the data. This PROC REPORT program would set the summary information for VAL to missing for North and East. The Options statement turns the display of the missing value to x instead of the usual '.' -- and then the COMPUTE AFTER block uses a LINE statement to write the message about the meaning of the x for missing values.&lt;BR /&gt;
 &lt;BR /&gt;
[pre]&lt;BR /&gt;
options missing = 'x';&lt;BR /&gt;
   &lt;BR /&gt;
ods html file='c:\temp\regrept.html' style=sasweb;&lt;BR /&gt;
   &lt;BR /&gt;
proc report data=regdata nowd;&lt;BR /&gt;
  column reg n val;&lt;BR /&gt;
  define reg / group order=data 'Region';&lt;BR /&gt;
  define n / 'Firm (n)';&lt;BR /&gt;
  define val / sum f=dollar12.2;&lt;BR /&gt;
  compute val;&lt;BR /&gt;
    if n = 1 then&lt;BR /&gt;
       val.sum = .;&lt;BR /&gt;
  endcomp;&lt;BR /&gt;
  compute after;&lt;BR /&gt;
    line '(x)= Numeric data omitted to avoid individualization of information.';&lt;BR /&gt;
  endcomp;&lt;BR /&gt;
run;&lt;BR /&gt;
 &lt;BR /&gt;
ods html close;&lt;BR /&gt;
[/pre]&lt;BR /&gt;
  &lt;BR /&gt;
For more help with PROC REPORT or with COMPUTE blocks, your best bet is to read the PROC REPORT documentation and examples. In particular, Technical Report P-258 is very helpful for use in "batch" or the non-windowing environment ( &lt;A href="http://support.sas.com/documentation/onlinedoc/v82/techreport_p258.pdf" target="_blank"&gt;http://support.sas.com/documentation/onlinedoc/v82/techreport_p258.pdf&lt;/A&gt; ). You could also consult with Tech Support for help with your particular report needs.&lt;BR /&gt;
 &lt;BR /&gt;
cynthia</description>
      <pubDate>Sun, 20 Apr 2008 21:50:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Omitting-individual-information-to-display-in-the-Proc-Tabulate/m-p/12335#M1637</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2008-04-20T21:50:32Z</dc:date>
    </item>
    <item>
      <title>Re: Omitting individual information to display in the Proc Tabulate</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Omitting-individual-information-to-display-in-the-Proc-Tabulate/m-p/12336#M1638</link>
      <description>Dear Cynthia, many thanks for your solution. Indeed it is the best choice and easy to implement. However, I don´t know if I ´ll have time enough to convert all of my proc tabulate into proc report.&lt;BR /&gt;
&lt;BR /&gt;
For this reason I´am looking for a solution that could be done with proc tabulate.&lt;BR /&gt;
&lt;BR /&gt;
Sincerely&lt;BR /&gt;
&lt;BR /&gt;
Edmundo</description>
      <pubDate>Mon, 21 Apr 2008 12:55:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Omitting-individual-information-to-display-in-the-Proc-Tabulate/m-p/12336#M1638</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-04-21T12:55:16Z</dc:date>
    </item>
  </channel>
</rss>

