<?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: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required in SAS Data Science</title>
    <link>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167198#M1859</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My suggestion is the same as Tom's. You actually have 3 conditions to test. E.g.:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro test();&lt;/P&gt;&lt;P&gt;&amp;nbsp; %if %symexist(macro_var) %then %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;macro_var =%str() %then %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put ERROR: The macro_var is set but null.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&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; %else %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put macro_var was set.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %else %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put ERROR: The macro_var is not set.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %end; &lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%test();&lt;/P&gt;&lt;P&gt;%let macro_var=PD_OVERRIDE_FILENAME;&lt;/P&gt;&lt;P&gt;%test();&lt;/P&gt;&lt;P&gt;%let macro_var=;&lt;/P&gt;&lt;P&gt;%test();&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 31 Dec 2014 21:27:59 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2014-12-31T21:27:59Z</dc:date>
    <item>
      <title>A character operand was found in the %EVAL function or %IF condition where a numeric operand is required</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167194#M1855</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have this code inside a macro:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%if &amp;amp;macro_var =%str() %then&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; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put ERROR: The macro_var is not set.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am getting error:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WARNING: Apparent symbolic reference macro_var&amp;nbsp; not resolved.&lt;/P&gt;&lt;P&gt;ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &amp;amp;macro_var=&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The WARNING is ok..because the macro_var has not been set. But Why is it throwing an error? Why is it looking for a numeric operand? How to resolve this? Basically I am trying to check if a macro variable is null or has been set with a proper value.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Dec 2014 20:24:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167194#M1855</guid>
      <dc:creator>eagles_dare13</dc:creator>
      <dc:date>2014-12-31T20:24:28Z</dc:date>
    </item>
    <item>
      <title>Re: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167195#M1856</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You have to show more of your code (e.g., the entire macro and how you call it). Your code appears to work fine if used as below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro test(macro_var);&lt;/P&gt;&lt;P&gt;&amp;nbsp; %if &amp;amp;macro_var =%str() %then&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; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put ERROR: The macro_var is not set.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %else %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put macro_var was set.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%test(PD_OVERRIDE_FILENAME)&lt;/P&gt;&lt;P&gt;%test( )&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Dec 2014 20:41:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167195#M1856</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2014-12-31T20:41:14Z</dc:date>
    </item>
    <item>
      <title>Re: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167196#M1857</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you. You can replicate the error like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro test();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %if &amp;amp;macro_var =%str() %then&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; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put ERROR: The macro_var is not set.;&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;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %else %do;&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;&amp;nbsp; %put macro_var was set.;&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;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%test();&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Dec 2014 21:14:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167196#M1857</guid>
      <dc:creator>eagles_dare13</dc:creator>
      <dc:date>2014-12-31T21:14:28Z</dc:date>
    </item>
    <item>
      <title>Re: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167197#M1858</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since the macro variable doesn't exist (see the first warning message) it is attempting to evaluate the expression &amp;amp;macro_var=.&amp;nbsp; It is interpreting the &amp;amp; as the AND operator and so generates the error since you cannot use AND with a text string (macro_var).&amp;nbsp; For example if you wrote %put %eval( 1 &amp;amp; 2) it would not generate an error message since the arguments for the &amp;amp; operator are both numeric.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could add %IF %SYMEXIST(macro_var) %THEN to make sure the variable is defined.&lt;/P&gt;&lt;P&gt;You could add some quotes so that the implied %EVAL() in the %IF statement knows that you are comparing strings.&amp;nbsp; %if "&amp;amp;macro_var"="" %then ...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Dec 2014 21:24:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167197#M1858</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2014-12-31T21:24:17Z</dc:date>
    </item>
    <item>
      <title>Re: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167198#M1859</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My suggestion is the same as Tom's. You actually have 3 conditions to test. E.g.:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro test();&lt;/P&gt;&lt;P&gt;&amp;nbsp; %if %symexist(macro_var) %then %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;macro_var =%str() %then %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put ERROR: The macro_var is set but null.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&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; %else %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put macro_var was set.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %else %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put ERROR: The macro_var is not set.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %return;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %end; &lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%test();&lt;/P&gt;&lt;P&gt;%let macro_var=PD_OVERRIDE_FILENAME;&lt;/P&gt;&lt;P&gt;%test();&lt;/P&gt;&lt;P&gt;%let macro_var=;&lt;/P&gt;&lt;P&gt;%test();&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Dec 2014 21:27:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/A-character-operand-was-found-in-the-EVAL-function-or-IF/m-p/167198#M1859</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2014-12-31T21:27:59Z</dc:date>
    </item>
  </channel>
</rss>

