<?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: not to display missing value in a table in ODS and Base Reporting</title>
    <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/838872#M25972</link>
    <description>WOW. This is the first response that makes sense! I will give it a whirl and let you know how it goes. THANK YOU!!&lt;BR /&gt;</description>
    <pubDate>Sun, 16 Oct 2022 17:56:46 GMT</pubDate>
    <dc:creator>Araya32097</dc:creator>
    <dc:date>2022-10-16T17:56:46Z</dc:date>
    <item>
      <title>not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85137#M9115</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I am wondering how to avoid displaying missing values in a table by proc tabulate. Say, for example, I have a clinical dataset with several variables such as&lt;/P&gt;&lt;P&gt;treatment: group = 'case'/'control'&lt;/P&gt;&lt;P&gt;frailty scale: fscale= 1,2,3&lt;/P&gt;&lt;P&gt;symtom: sym = 1,2,3;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc data=mydata out=test;&lt;/P&gt;&lt;P&gt;class group;&lt;/P&gt;&lt;P&gt;class fscale sym/ missing;&lt;/P&gt;&lt;P&gt;table fscale sym, (group ALL)*(N PCTN) / missingtext='0';&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I put 'missing' in the 'class' statement in order to get correct statistics. However, I don't want summary for missing values e.g&lt;/P&gt;&lt;P&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; Case&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Control&lt;/P&gt;&lt;P&gt;fscale&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp; PCTN&amp;nbsp;&amp;nbsp; N PCTN&lt;/P&gt;&lt;P&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; 10&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* I don't want this line */ &lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any way to do that directly? I cannot find this option online. I tried to output the result to a table (test in this case) and remove the record corresponding to the first line. However, there is problem with this approach. Notice there is no value for Case and fscale = 1, which I printed as 0. SAS will not output it in the output table test. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; group fscale N...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Control 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* this record is there in test*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 ...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* this will not be outputed, but I need this to reconstruct my table */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Apr 2012 17:17:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85137#M9115</guid>
      <dc:creator>tradepeter</dc:creator>
      <dc:date>2012-04-16T17:17:42Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85138#M9116</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Look at the CLASSDATA and EXCLUSIVE options on the PROC TABULATE statement. CLASSDATA references a dataset containing the various levels of you CLASS variables you are interested in and EXCLUSIVE says to display only the levels in that set.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think you can get the CLASSDATA set for your purposes by:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Proc summary data=mydata nway;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class group fscale sym;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output out=classdataset (drop= _:);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;as summary will by default not include missing values of class variables.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Apr 2012 19:34:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85138#M9116</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2012-04-16T19:34:17Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85139#M9117</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tried to use CLASSDATA and EXCLUSIVE. However, tabulate will not generate correct summaries if missing value is not set as a level in CLASSDATA. If missing value is set as a valid level, the row&amp;amp;column for missing will still be display in tabulate. Maybe I am not doing it right.......?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Apr 2012 20:35:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85139#M9117</guid>
      <dc:creator>tradepeter</dc:creator>
      <dc:date>2012-04-16T20:35:47Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85140#M9118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This may be a case of pre-processing the data before the final version.&lt;/P&gt;&lt;P&gt;You could use PROC tabulate once to generater an output data set by adding OUT=datasetname on the PROC statement. This will generate additional variable names for the statistics but the class variables stay the same. You also will get something like GROUP_all as a class var. You could then use TABULATE or PRINT to get the desired output using a WHERE fscale ne . ; If there are more variables with missing that you don't want to include you probably need a data step to use more complex logic to keep the ones you want.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Apr 2012 15:16:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85140#M9118</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2012-04-17T15:16:43Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85141#M9119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Is this what you want...or can you post the data also.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data aaa;&lt;/P&gt;&lt;P&gt;input treatment $ 1-8 fscale sym;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;case&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 1&lt;/P&gt;&lt;P&gt;control 2 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 5&lt;/P&gt;&lt;P&gt;control 3 3&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc tabulate data=aaa out=test missing;&lt;/P&gt;&lt;P&gt;class treatment;&lt;/P&gt;&lt;P&gt;var fscale sym;&lt;/P&gt;&lt;P&gt;table fscale sym, (treatment ALL)*(N PCTN);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data aaa1;&lt;/P&gt;&lt;P&gt;input treatment $ 1-8 fscale sym;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;case&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 1&lt;/P&gt;&lt;P&gt;control 2 2&lt;/P&gt;&lt;P&gt;case&amp;nbsp;&amp;nbsp;&amp;nbsp; . .&lt;/P&gt;&lt;P&gt;control 3 3&lt;/P&gt;&lt;P&gt;;&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 tabulate data=aaa1 out=test1 missing;&lt;/P&gt;&lt;P&gt;class treatment;&lt;/P&gt;&lt;P&gt;var fscale sym;&lt;/P&gt;&lt;P&gt;table fscale sym, (treatment ALL)*(N PCTN);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Shiva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Apr 2012 16:40:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85141#M9119</guid>
      <dc:creator>shivas</dc:creator>
      <dc:date>2012-04-17T16:40:35Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85142#M9120</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; Let's go back to the beginning. I have code that generates exactly 100 observations and then runs a TABULATE step and creates WORK.TEST using the OUT= option.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;data mydata;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; infile datalines dlm=',' dsd;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp; input ID $ grp $ fscale sym;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;return;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;datalines;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1001","case",.,.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1002","case",.,.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1003","case",.,.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1004","case",.,.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1005","case",.,.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1006","case",.,.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1007","case",.,.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1008","case",.,.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1009","case",.,.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1010","case",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1011","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1012","case",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1013","case",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1014","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1015","case",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1016","case",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1017","case",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1018","case",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1019","case",2,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1020","case",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1021","case",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1022","case",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1023","case",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1024","case",2,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1025","case",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1026","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1027","case",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1028","case",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1029","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1030","case",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1031","case",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1032","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1033","case",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1034","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1035","case",2,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1036","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1037","case",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1038","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1039","case",2,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1040","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1041","case",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1042","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1043","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1044","case",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1045","case",2,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1046","case",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1047","case",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1048","case",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1049","case",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1050","case",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1051","case",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1052","case",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1053","case",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1054","case",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1055","case",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1056","case",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1057","case",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1058","case",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1059","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1060","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1061","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1062","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1063","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1064","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1065","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1066","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1067","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1068","control",.,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1069","control",1,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1070","control",1,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1071","control",1,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1072","control",1,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1073","control",1,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1074","control",2,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1075","control",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1076","control",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1077","control",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1078","control",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1079","control",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1080","control",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1081","control",2,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1082","control",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1083","control",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1084","control",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1085","control",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1086","control",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1087","control",2,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1088","control",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1089","control",2,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1090","control",2,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1091","control",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1092","control",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1093","control",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1094","control",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1095","control",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1096","control",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1097","control",3,2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1098","control",3,1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1099","control",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;"1100","control",3,3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;ods listing close;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;options nodate nonumber center;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;title;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;ods pdf file='c:\temp\report.pdf' style=journal;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;proc tabulate data=mydata out=test f=comma8.;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;class grp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;class fscale sym/ missing;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;table (fscale ) (sym ), &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (grp ALL)*(N PCTN) / misstext='0' printmiss;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;proc print data=work.test;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;title 'work.test';&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;ods pdf close;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used PDF so I could take a screen shot of the TABULATE and PRINT outputs side by side. If you look, you will see that the _TYPE_ column in WORK.TEST can be directly tied back to the rows and columns in your TABULATE table. So the information you want to delete is inside the red circle, where&amp;nbsp; _TYPE_ 110, and FSCALE = . for both CASE and CONTROL values of the group variable (GRP). Notice how each of the values for _TYPE_ corresponds to a section of the finished table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you need the missing values for the percents to calculate correctly, there is no way to tell TABULATE to use the missing, but NOT display the missing. As others have suggested, the most usual way of dealing with what you want to do (use the missing to calculate N and PCTN), but then not display is to post-process the data set from TABULATE: create an output data set from TABULATE, and then post-process with a program that uses the values of _TYPE_ to delete the information you do NOT want. Note that I used the PRINTMISS option, with MISSING in order to show the N and PCTN for FSCALE=1 and have that also appear in WORK.TEST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In a DATA step program, you could assign a value to the group variable in your program based on the values of _TYPE_...something like:&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-family: courier new,courier;"&gt;if _type_ = '010' then grp = 'Overall';&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and you could also selectively get rid of the rows you did not want. Then you would have to take this post-processd data and either get it restructured the way you want with PROC TRANSPOSE and then use PROC PRINT or use the data with PROC REPORT to get the report you want. Two possible reports with PROC REPORT are shown -- one with 2 separate tables for each variable and the other with one table for both variables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My suggestion is that you work to understand TABULATE and getting the output and percents you want in a SAS dataset before you move on to the post-processing and using REPORT or some other method to write out what you need.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cynthia&lt;/P&gt;&lt;BR /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/11439iBCA6D0ECCB634280/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="case_control_explan.jpg" title="case_control_explan.jpg" /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/11440i6D286F4B9BEAE0CB/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="two_sep_tables.jpg" title="two_sep_tables.jpg" /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/11441iBBAB52DFE957A113/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="alternate_final.jpg" title="alternate_final.jpg" /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2012 14:32:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/85142#M9120</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2012-04-18T14:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/837786#M25967</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;So my code is this - and basically works - except it's giving me missing values ' . ' that I don't want (also a 192 obs data set)&lt;/P&gt;&lt;P&gt;where could I add 'missing'/'no missing'/;misstext' to ensure the table is cleaner?&lt;/P&gt;&lt;P&gt;or do I change my format _all_ to a different variable?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;DATA proj4.gas;&lt;BR /&gt;	SET proj4.gas;&lt;BR /&gt;	IF MONTH in (1,2,3) THEN Q1 = 1;&lt;BR /&gt;    ELSE IF MONTH in (4,5,6) THEN  Q2 = 2;&lt;BR /&gt;    ELSE IF MONTH in (7,8,9) THEN Q3 = 3;&lt;BR /&gt;    ELSE IF MONTH in (10,11,12) THEN Q4 = 4;   &lt;BR /&gt;     quarter = MONTH; FORMAT _all_;&lt;BR /&gt;RUN;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Oct 2022 04:46:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/837786#M25967</guid>
      <dc:creator>Araya32097</dc:creator>
      <dc:date>2022-10-11T04:46:42Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/837790#M25968</link>
      <description>&lt;P&gt;First, a warning:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA proj4.gas;
SET proj4.gas;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Do not do this, especially not during code development. If this step fails, it destroys your dataset, and you need to recreate it, either from a backup or by rerunning the code that created it.&lt;/P&gt;
&lt;P&gt;Create a new dataset and proceed from there. Only overwrite existing datasets once you have verified that your code has worked.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You work with date (or date-related) values, so you should use SAS date values, which opens you up to use the many tools (formats, functions) which make working with date values easier.&lt;/P&gt;
&lt;P&gt;SAS dates are counts of days, starting with 1960-01-01 as day zero, and a format assigned to make them human-readable. Such a format can specifically display the quarter, so you do not need to do any calculations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Finally, you attached your question to a 10-year-old (!!!) thread, across which I stumbled by accident. Post your question in a new thread to increase your audience.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Oct 2022 05:59:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/837790#M25968</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-10-11T05:59:37Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/838534#M25969</link>
      <description>Thank you so much! I really appreciate your feedback and I am looking it over and dissecting it then digesting it. I feel really lost. I can't even fig out how to take a 192 ob, 15 year data set and chop it into qtrs. I know SQL, some Python and some R. All simple comparatively. I don't know why I am having such a hard time. Thank you again. -Kate&lt;BR /&gt;</description>
      <pubDate>Fri, 14 Oct 2022 00:02:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/838534#M25969</guid>
      <dc:creator>Araya32097</dc:creator>
      <dc:date>2022-10-14T00:02:46Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/838548#M25970</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/434563"&gt;@Araya32097&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;Thank you so much! I really appreciate your feedback and I am looking it over and dissecting it then digesting it. I feel really lost. I can't even fig out how to take a 192 ob, 15 year data set and chop it into qtrs. I know SQL, some Python and some R. All simple comparatively. I don't know why I am having such a hard time. Thank you again. -Kate&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Do know that you can use SQL with SAS?&lt;/P&gt;
&lt;P&gt;proc sql;&lt;/P&gt;
&lt;P&gt;...your SQL statements...;&lt;/P&gt;
&lt;P&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For printing missing numerical values in reports: If you don't want the default period then define somewhere earlier in your code...&lt;/P&gt;
&lt;PRE&gt;options missing=' ';&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Oct 2022 01:20:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/838548#M25970</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2022-10-14T01:20:33Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/838578#M25971</link>
      <description>&lt;P&gt;With the use of SAS date values, all it takes is a format to make statistical procs work with quarters:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
format period yymmn6.;
do year = 2007 to 2022;
  do month = 1 to 12;
    period = mdy(month,1,year);
    output;
  end;
end;
run;

proc freq data=have;
format period yyq6.;
tables period;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you need "manual" analysis which you cannot solve with a SAS procedure, create a "quarter" variable by using the same format in a PUT function. You can then use this new variable in a BY statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="3"&gt;&lt;EM&gt;Edit: fixed a typo.&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 16 Oct 2022 18:38:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/838578#M25971</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-10-16T18:38:46Z</dc:date>
    </item>
    <item>
      <title>Re: not to display missing value in a table</title>
      <link>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/838872#M25972</link>
      <description>WOW. This is the first response that makes sense! I will give it a whirl and let you know how it goes. THANK YOU!!&lt;BR /&gt;</description>
      <pubDate>Sun, 16 Oct 2022 17:56:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/ODS-and-Base-Reporting/not-to-display-missing-value-in-a-table/m-p/838872#M25972</guid>
      <dc:creator>Araya32097</dc:creator>
      <dc:date>2022-10-16T17:56:46Z</dc:date>
    </item>
  </channel>
</rss>

