<?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: COUNT MISSING AND NON MISSING ACROSS COLUMNS in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/COUNT-MISSING-AND-NON-MISSING-ACROSS-COLUMNS/m-p/372032#M275962</link>
    <description>&lt;P&gt;The answer is here:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc contents data=temp out=cols noprint;
run;

data _null_;
set cols nobs=total;
call symputx('totvar', total);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The output dataset of proc contents (cols) contains one observation for each variable in the input dataset (temp).&lt;/P&gt;
&lt;P&gt;So when that is read in the next data step, the nobs comes from cols (not from temp!) and therefore is equivalent to the count of variables in temp.&lt;/P&gt;</description>
    <pubDate>Fri, 30 Jun 2017 07:17:35 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2017-06-30T07:17:35Z</dc:date>
    <item>
      <title>COUNT MISSING AND NON MISSING ACROSS COLUMNS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COUNT-MISSING-AND-NON-MISSING-ACROSS-COLUMNS/m-p/372029#M275961</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wan to write a program to count missing and non missing values across the columns. I got a program from someone like this-&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data temp;&lt;BR /&gt;input x y z a b$;&lt;BR /&gt;cards;&lt;BR /&gt;1 23 24 50 AA&lt;BR /&gt;1 . 24 50 AC&lt;BR /&gt;1 13 . 50 AB&lt;BR /&gt;1 23 . 50 .&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc contents data=temp out=cols noprint;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data _null_;&lt;BR /&gt;set cols nobs=total;&lt;BR /&gt;call symputx('totvar', total);&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data outdata;&lt;BR /&gt;set temp;&lt;BR /&gt;totalvar=&amp;amp;totvar;&lt;BR /&gt;totmiss=cmiss(of x--b);&lt;BR /&gt;totnonmiss=totalvar- cmiss(of x--b);&lt;BR /&gt;proc print ;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and I got the correct result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;&lt;STRONG&gt;x&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;&lt;STRONG&gt;y&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;&lt;STRONG&gt;z&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;&lt;STRONG&gt;a&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;&lt;STRONG&gt;b&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;&lt;STRONG&gt;totalvar&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;&lt;STRONG&gt;totmiss&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF6600"&gt;&lt;STRONG&gt;totnmiss&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;AB&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;24&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;AC&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;AB&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But i&lt;SPAN&gt;n the above program, there are 4 observations, and NOBS is used to calculate the number of observations, so how can we calculate number of variables. I mean when we use "set cols nobs=total;" the value of total should be 4 and the value of &amp;amp;totvar should also be 4, but in output it is showing 5. How? I am confused. I am not able to understand this. Please help me.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jun 2017 07:07:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COUNT-MISSING-AND-NON-MISSING-ACROSS-COLUMNS/m-p/372029#M275961</guid>
      <dc:creator>Ankur32</dc:creator>
      <dc:date>2017-06-30T07:07:42Z</dc:date>
    </item>
    <item>
      <title>Re: COUNT MISSING AND NON MISSING ACROSS COLUMNS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COUNT-MISSING-AND-NON-MISSING-ACROSS-COLUMNS/m-p/372032#M275962</link>
      <description>&lt;P&gt;The answer is here:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc contents data=temp out=cols noprint;
run;

data _null_;
set cols nobs=total;
call symputx('totvar', total);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The output dataset of proc contents (cols) contains one observation for each variable in the input dataset (temp).&lt;/P&gt;
&lt;P&gt;So when that is read in the next data step, the nobs comes from cols (not from temp!) and therefore is equivalent to the count of variables in temp.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jun 2017 07:17:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COUNT-MISSING-AND-NON-MISSING-ACROSS-COLUMNS/m-p/372032#M275962</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-06-30T07:17:35Z</dc:date>
    </item>
    <item>
      <title>Re: COUNT MISSING AND NON MISSING ACROSS COLUMNS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COUNT-MISSING-AND-NON-MISSING-ACROSS-COLUMNS/m-p/372034#M275963</link>
      <description>&lt;P&gt;Thank you so much..!!&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jun 2017 07:20:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COUNT-MISSING-AND-NON-MISSING-ACROSS-COLUMNS/m-p/372034#M275963</guid>
      <dc:creator>Ankur32</dc:creator>
      <dc:date>2017-06-30T07:20:07Z</dc:date>
    </item>
    <item>
      <title>Re: COUNT MISSING AND NON MISSING ACROSS COLUMNS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COUNT-MISSING-AND-NON-MISSING-ACROSS-COLUMNS/m-p/372097#M275964</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data temp;
input x y z a b$;
cards;
1 23 24 50 AA
1 . 24 50 AC
1 13 . 50 AB
1 23 . 50 .
;
run;

%let dsid=%sysfunc(open(temp));
%let totvar=%sysfunc(attrn(&amp;amp;dsid,nvar));
%let dsid=%sysfunc(close(&amp;amp;dsid));

%put &amp;amp;totvar;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 30 Jun 2017 10:59:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COUNT-MISSING-AND-NON-MISSING-ACROSS-COLUMNS/m-p/372097#M275964</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-06-30T10:59:49Z</dc:date>
    </item>
  </channel>
</rss>

