<?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 means + ways + _type_ + ods output in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/572138#M161440</link>
    <description>&lt;P&gt;If you want _type_ like behavior please describe why OUTPUT OUT= is undesirable.&lt;/P&gt;</description>
    <pubDate>Tue, 09 Jul 2019 16:10:47 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2019-07-09T16:10:47Z</dc:date>
    <item>
      <title>proc means + ways + _type_ + ods output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/571961#M161385</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to know if there is a way to get something similar to the _TYPE_ variable in proc means output to identify the levels when using ODS OUTPUT instead of OUTPUT OUT=.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When having missing values in the variable listed in the class statement, there is no direct way to distinguish level 0 from level 1.&lt;/P&gt;&lt;P&gt;A workaround is to change the missing value to something else before proc means.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is some code to illustrate the issue:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data class;
    set sashelp.class end=eof;
    output;
    if eof then 
       do;
          sex=' ';
          age=.;
          output;
       end;
run;   

proc means data=class;
	ways 0 1;
	class sex /missing;
	var height weight;
	output out=test1;
run;
	
ods exclude all;
	ods output summary=test2; 
	proc means data=class;* stackods;
	    ways 0 1;
	    class sex /missing;
	    var height weight;
	run;
ods exclude none;

proc print data=test1 noobs;
run;
proc print data=test2 noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 09 Jul 2019 06:39:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/571961#M161385</guid>
      <dc:creator>xxformat_com</dc:creator>
      <dc:date>2019-07-09T06:39:11Z</dc:date>
    </item>
    <item>
      <title>Re: proc means + ways + _type_ + ods output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/572016#M161401</link>
      <description>&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;When having missing values in the variable listed in the class statement, there is no direct way to distinguish level 0 from level 1.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There&lt;SPAN&gt;&amp;nbsp;are two methods I can think of to eliminate this issue. The&amp;nbsp;first is that _type_=0 and missing SEX is different than _type_=1 and missing SEX. The second is shown below.&lt;/SPAN&gt;&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 class;
	length sex $ 7;
    set sashelp.class end=eof;
    output;
    if eof then 
       do;
          sex='Missing';
          age=.A;
          output;
       end;
run;   

proc means data=class;
	ways 0 1;
	class sex /missing;
	var height weight;
	output out=test1;
run;

proc means data=class;
	ways 0 1;
	class age /missing;
	var height weight;
	output out=test2;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jul 2019 12:14:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/572016#M161401</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-07-09T12:14:19Z</dc:date>
    </item>
    <item>
      <title>Re: proc means + ways + _type_ + ods output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/572051#M161421</link>
      <description>&lt;P&gt;Thanks but it exactly what I said in the question. There are workaround like replacing the missing value by another value. But I'm not looking for a workaround.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jul 2019 14:00:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/572051#M161421</guid>
      <dc:creator>xxformat_com</dc:creator>
      <dc:date>2019-07-09T14:00:36Z</dc:date>
    </item>
    <item>
      <title>Re: proc means + ways + _type_ + ods output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/572138#M161440</link>
      <description>&lt;P&gt;If you want _type_ like behavior please describe why OUTPUT OUT= is undesirable.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jul 2019 16:10:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/572138#M161440</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-07-09T16:10:47Z</dc:date>
    </item>
    <item>
      <title>Re: proc means + ways + _type_ + ods output</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/572142#M161444</link>
      <description>&lt;P&gt;Not sure why you want it but it looks like it is easy enough with&amp;nbsp; a single class variable.&lt;/P&gt;
&lt;P&gt;Let's use the AUTONAME option on the OUTPUT statement so we are comparing similar outputs.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ods exclude all;
	ods output summary=test2; 
	proc means data=class;* stackods;
	    ways 0 1;
	    class sex /missing;
	    var height weight;
    	output out=test1 n= mean= std= min= max= /autoname;
	run;
ods exclude none;

data test2;
 set test2;
 by sex ;
 _type_=not (missing(sex) and first.sex);
run;

proc compare data=test1 compare=test2;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;The COMPARE Procedure
Comparison of WORK.TEST1 with WORK.TEST2
(Method=EXACT)

Variables Summary

Number of Variables in Common: 12.
Number of Variables in WORK.TEST1 but not in WORK.TEST2: 1.
Number of Variables in WORK.TEST2 but not in WORK.TEST1: 3.
Number of Variables with Differing Attributes: 10.


Observation Summary

Observation      Base  Compare

First Obs           1        1
Last  Obs           4        4

Number of Observations in Common: 4.
Total Number of Observations Read from WORK.TEST1: 4.
Total Number of Observations Read from WORK.TEST2: 4.

Number of Observations with Some Compared Variables Unequal: 0.
Number of Observations with All Compared Variables Equal: 4.

NOTE: No unequal values were found. All values compared are exactly equal.
&lt;/PRE&gt;</description>
      <pubDate>Tue, 09 Jul 2019 16:26:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-means-ways-type-ods-output/m-p/572142#M161444</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2019-07-09T16:26:21Z</dc:date>
    </item>
  </channel>
</rss>

