<?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 To identify missing values in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23592#M5226</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; cmiss is a sas 9.2 feature not available to earlier versions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 30 Jun 2011 15:33:25 GMT</pubDate>
    <dc:creator>DLing</dc:creator>
    <dc:date>2011-06-30T15:33:25Z</dc:date>
    <item>
      <title>To identify missing values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23589#M5223</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a large dataset with 50 variables. My task is to identify cases with missing value in any of the 50 variables. It is not practical that I have to use WHERE statement to specify missing for each of the 50 variables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any special name list to perform this task? I tried to use _ALL_ , but not work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks! &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jun 2011 09:47:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23589#M5223</guid>
      <dc:creator>Ruth</dc:creator>
      <dc:date>2011-06-30T09:47:30Z</dc:date>
    </item>
    <item>
      <title>To identify missing values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23590#M5224</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your can use the cmiss-function: &lt;/P&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data work.marked;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set work.somedata;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length hasMissings 3;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hasMissings = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hasMissings = cmiss(of _all_);
&amp;nbsp;&amp;nbsp;&amp;nbsp; run;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jun 2011 11:25:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23590#M5224</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2011-06-30T11:25:48Z</dc:date>
    </item>
    <item>
      <title>To identify missing values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23591#M5225</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Great piece of knowledge. Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ruth.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jun 2011 13:23:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23591#M5225</guid>
      <dc:creator>Ruth</dc:creator>
      <dc:date>2011-06-30T13:23:52Z</dc:date>
    </item>
    <item>
      <title>To identify missing values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23592#M5226</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; cmiss is a sas 9.2 feature not available to earlier versions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jun 2011 15:33:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23592#M5226</guid>
      <dc:creator>DLing</dc:creator>
      <dc:date>2011-06-30T15:33:25Z</dc:date>
    </item>
    <item>
      <title>Re: To identify missing values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23593#M5227</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ruth,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe the following macro could help on earlier versions of SAS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Florent&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%MACRO SearchMissingValues(ds=);&lt;BR /&gt;%local lib table;&lt;BR /&gt;/* Retrieves the library and table (dataset) name from the parameter of the macro */&lt;BR /&gt;%let lib&amp;nbsp;&amp;nbsp; = %upcase(%scan(&amp;amp;ds, 1, '.'));&lt;BR /&gt;%let table = %upcase(%scan(&amp;amp;ds, 2, '.'));&lt;BR /&gt;options nonotes;&lt;BR /&gt;/* Count the number of variables in the dataset provided as parameter of the macro */&lt;BR /&gt;proc sql noprint;&lt;BR /&gt;&amp;nbsp; select count(name)&lt;BR /&gt;&amp;nbsp; into :cnt&lt;BR /&gt;&amp;nbsp; from dictionary.columns&lt;BR /&gt;&amp;nbsp; where upcase(libname) = "&amp;amp;lib"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and upcase(memname) = "&amp;amp;table";&lt;BR /&gt;quit;&lt;BR /&gt;%let cnt = &amp;amp;cnt; /* Removes the leading and trailing blanks */&lt;BR /&gt;/* Retrieves all the variables' names which are stored in the dataset provided as parameter of the macro */&lt;BR /&gt;proc sql noprint;&lt;BR /&gt;&amp;nbsp; select name&lt;BR /&gt;&amp;nbsp; into :var1-:var&amp;amp;cnt&lt;BR /&gt;&amp;nbsp; from dictionary.columns&lt;BR /&gt;&amp;nbsp; where upcase(libname) = "&amp;amp;lib"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and upcase(memname) = "&amp;amp;table";&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;%IF &amp;amp;cnt &amp;gt; 0 %THEN %DO;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; data work.&amp;amp;table (keep= missingVar:);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set &amp;amp;ds;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %DO i=1 %TO &amp;amp;cnt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; missingVar&amp;amp;i = missing(&amp;amp;&amp;amp;var&amp;amp;i);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %END;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %DO i=1 %TO &amp;amp;cnt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let var&amp;amp;i = &amp;amp;&amp;amp;var&amp;amp;i ; /* Removes the leading and trailing blanks */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; %put var&amp;amp;i = &amp;amp;&amp;amp;var&amp;amp;i;&lt;BR /&gt;&amp;nbsp; %END;&lt;BR /&gt;%END;&lt;/P&gt;&lt;P&gt;%MEND SearchMissingValues;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jul 2011 14:29:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23593#M5227</guid>
      <dc:creator>Florent</dc:creator>
      <dc:date>2011-07-01T14:29:44Z</dc:date>
    </item>
    <item>
      <title>To identify missing values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23594#M5228</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For older SAS versions you could use arrays.&amp;nbsp; Something like the below (I'm using SAS 9.1.3):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data somedata;&lt;/P&gt;&lt;P&gt;format a1-a50 best12.;&lt;/P&gt;&lt;P&gt;format b1-b50 $1.;&lt;/P&gt;&lt;P&gt;array a{*} a1-a50;&lt;/P&gt;&lt;P&gt;array b{*} $ b1-b50;&lt;/P&gt;&lt;P&gt;do j = 1 to 10000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 1 to 50;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = ranuni(-1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if n &amp;gt; 0.7 then a&lt;I&gt; = n;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else a&lt;I&gt; = .;&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = ranuni(-1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if n &amp;gt; 0.7 then b&lt;I&gt; = byte(127*ranuni(-1)+32);&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else b&lt;I&gt; = '';&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop i j n;&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;&lt;/P&gt;&lt;P&gt;data work.marked;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set work.somedata;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; length hasMissings 3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hasMissings = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; array a(*) _numeric_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; array b(*) $ _character_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 1 to dim(a);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hasMissings = hasMissings + missing(a&lt;I&gt;);&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 1 to dim(b);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hasMissings = hasMissings + missing(b&lt;I&gt;);&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop i;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jul 2011 15:34:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23594#M5228</guid>
      <dc:creator>DF</dc:creator>
      <dc:date>2011-07-01T15:34:44Z</dc:date>
    </item>
    <item>
      <title>To identify missing values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23595#M5229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I didn't get a clue about Florent's code. It just has&amp;nbsp; nothing to do with "finding missing values".&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Mar 2012 21:49:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23595#M5229</guid>
      <dc:creator>Ruth</dc:creator>
      <dc:date>2012-03-07T21:49:40Z</dc:date>
    </item>
    <item>
      <title>To identify missing values</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23596#M5230</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Certainly because the last data step was missing. I have edited my original post.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2012 13:00:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/To-identify-missing-values/m-p/23596#M5230</guid>
      <dc:creator>Florent</dc:creator>
      <dc:date>2012-03-08T13:00:43Z</dc:date>
    </item>
  </channel>
</rss>

