<?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: Check for character or numeric field in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Check-for-character-or-numeric-field/m-p/25043#M3762</link>
    <description>Don't worry, I have found 2 solutions, the first being the simplest:&lt;BR /&gt;
&lt;BR /&gt;
Data DataOut (Drop = i);&lt;BR /&gt;
	Set DataIn;&lt;BR /&gt;
	array Char(*) _Character_;&lt;BR /&gt;
    do i = 1 to dim(Char);&lt;BR /&gt;
	VarEntry = Char(i);&lt;BR /&gt;
	If substr(VarEntry, 1, 3) = 'Low' Then Char(i) = '-99'||Char(i);&lt;BR /&gt;
	End;&lt;BR /&gt;
Run;&lt;BR /&gt;
&lt;BR /&gt;
Or &lt;BR /&gt;
%global vartype ;&lt;BR /&gt;
 %macro VARTYPE ( SASDSN, SASVAR );&lt;BR /&gt;
   %let dsid    = %sysfunc( open   ( &amp;amp;SASDSN,i)       );&lt;BR /&gt;
   %let varnum  = %sysfunc( varnum ( &amp;amp;dsid, &amp;amp;sasvar ) );&lt;BR /&gt;
   %let vartype = %sysfunc( vartype(&amp;amp;dsid, &amp;amp;varnum)   );&lt;BR /&gt;
   %let rc      = %sysfunc( close  ( &amp;amp;dsid )          );&lt;BR /&gt;
 %mend VARTYPE;&lt;BR /&gt;
 *** Sample Call;&lt;BR /&gt;
 ***%vartype( cpmsas.cpm10x,   ml );&lt;BR /&gt;
/*** end of sas program - vartype ***/</description>
    <pubDate>Thu, 12 Jun 2008 11:35:11 GMT</pubDate>
    <dc:creator>deleted_user</dc:creator>
    <dc:date>2008-06-12T11:35:11Z</dc:date>
    <item>
      <title>Check for character or numeric field</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Check-for-character-or-numeric-field/m-p/25042#M3761</link>
      <description>Hi. I am making SAS go through all the fields in a dataset and would only like it to perform a certain action if the field it is looking at is character (and not numeric). I am aware of the anyalpha function but this applies to observations and not entire fields. Any ideas?</description>
      <pubDate>Thu, 12 Jun 2008 09:23:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Check-for-character-or-numeric-field/m-p/25042#M3761</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-06-12T09:23:42Z</dc:date>
    </item>
    <item>
      <title>Re: Check for character or numeric field</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Check-for-character-or-numeric-field/m-p/25043#M3762</link>
      <description>Don't worry, I have found 2 solutions, the first being the simplest:&lt;BR /&gt;
&lt;BR /&gt;
Data DataOut (Drop = i);&lt;BR /&gt;
	Set DataIn;&lt;BR /&gt;
	array Char(*) _Character_;&lt;BR /&gt;
    do i = 1 to dim(Char);&lt;BR /&gt;
	VarEntry = Char(i);&lt;BR /&gt;
	If substr(VarEntry, 1, 3) = 'Low' Then Char(i) = '-99'||Char(i);&lt;BR /&gt;
	End;&lt;BR /&gt;
Run;&lt;BR /&gt;
&lt;BR /&gt;
Or &lt;BR /&gt;
%global vartype ;&lt;BR /&gt;
 %macro VARTYPE ( SASDSN, SASVAR );&lt;BR /&gt;
   %let dsid    = %sysfunc( open   ( &amp;amp;SASDSN,i)       );&lt;BR /&gt;
   %let varnum  = %sysfunc( varnum ( &amp;amp;dsid, &amp;amp;sasvar ) );&lt;BR /&gt;
   %let vartype = %sysfunc( vartype(&amp;amp;dsid, &amp;amp;varnum)   );&lt;BR /&gt;
   %let rc      = %sysfunc( close  ( &amp;amp;dsid )          );&lt;BR /&gt;
 %mend VARTYPE;&lt;BR /&gt;
 *** Sample Call;&lt;BR /&gt;
 ***%vartype( cpmsas.cpm10x,   ml );&lt;BR /&gt;
/*** end of sas program - vartype ***/</description>
      <pubDate>Thu, 12 Jun 2008 11:35:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Check-for-character-or-numeric-field/m-p/25043#M3762</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2008-06-12T11:35:11Z</dc:date>
    </item>
  </channel>
</rss>

