<?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: Macro isBlank never returns a true condition. in SAS Studio</title>
    <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502240#M6350</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;The %isblank macro works on macro variables. If you feed it text or a null argument, I have no idea what it will do, but it wasn't designed for that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let a=XXX;&lt;/P&gt;
&lt;P&gt;%put %isblank(&amp;amp;a); /* Should return a 1 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let a=;&lt;/P&gt;
&lt;P&gt;%put %isblank(&amp;amp;a); /* Should return a 0 */&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Correcting my reply&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let a=XXX;
%put %isblank(&amp;amp;a); /* Should return a 0 */

%let a=;
%put %isblank(&amp;amp;a); /* Should return a 1 */&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 07 Oct 2018 10:57:05 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2018-10-07T10:57:05Z</dc:date>
    <item>
      <title>Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502172#M6341</link>
      <description>&lt;P&gt;Hi Everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I've been spending a lot of time on this macro routine and could not figure out what is going on.&amp;nbsp; In this &lt;A href="https://support.sas.com/resources/papers/proceedings09/022-2009.pdf" target="_self"&gt;link&lt;/A&gt;, Chung and King presented a macro, isBlank, to test if a macro's argument is blank. In this &lt;A href="https://communities.sas.com/t5/SAS-Programming/How-to-check-if-a-macro-variable-is-blank/td-p/160327" target="_self"&gt;discussion&lt;/A&gt;, Ballardw illustrated a usage of isBlank. However, when I used&amp;nbsp;isBlank in my test macro below, the IF condition is never true. Somehow the 1 returned by %isBlank looks like a 1 but is not really a 1. Would someone help to demystify this please. Thank you very much.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-Chin&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro isBlank(param);&lt;BR /&gt;&amp;nbsp; %sysevalf(%superq(param)=,boolean);&lt;BR /&gt;%mend isBlank;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%put %isBlank(); /* Returns 1. */&lt;BR /&gt;%put %isBlank(a); /* Returns 0. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%macro test(arg);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; %if %isBlank(&amp;amp;arg) = 1 %then %put Blank;&amp;nbsp; &amp;nbsp;/* This IF is never true.&amp;nbsp; Is %isBlank(&amp;amp;arg) returning a numerical 1? */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; %else %put Notblank; run;&lt;BR /&gt;%mend;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;%test();&amp;nbsp; &amp;nbsp; &amp;nbsp;/* Returns: Notblank&amp;nbsp; */&lt;BR /&gt;%test(a);&amp;nbsp; &amp;nbsp;/* Returns: Notblank ALSO. */&lt;/P&gt;</description>
      <pubDate>Sat, 06 Oct 2018 21:09:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502172#M6341</guid>
      <dc:creator>chinli72</dc:creator>
      <dc:date>2018-10-06T21:09:52Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502173#M6342</link>
      <description>&lt;P&gt;The %isblank macro works on macro variables. If you feed it text or a null argument, I have no idea what it will do, but it wasn't designed for that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let a=XXX;&lt;/P&gt;
&lt;P&gt;%put %isblank(&amp;amp;a); /* Should return a 1 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let a=;&lt;/P&gt;
&lt;P&gt;%put %isblank(&amp;amp;a); /* Should return a 0 */&lt;/P&gt;</description>
      <pubDate>Sat, 06 Oct 2018 21:16:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502173#M6342</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-10-06T21:16:16Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502178#M6343</link>
      <description>&lt;P&gt;I can't test this right now, but to my eyes, your macro definition is incorrect.&amp;nbsp; You have an extra semicolon on this line:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;%sysevalf(%superq(param)=,boolean);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;"Extra" here means that you have one, but there shouldn't be any.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 06 Oct 2018 21:30:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502178#M6343</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-10-06T21:30:46Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502179#M6344</link>
      <description>Astounding, You are absolutely correct. By removing the ";" in isBlank macro, the code worked. Truly astounded. Thank you very much.</description>
      <pubDate>Sat, 06 Oct 2018 21:35:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502179#M6344</guid>
      <dc:creator>chinli72</dc:creator>
      <dc:date>2018-10-06T21:35:35Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502180#M6345</link>
      <description>&lt;P&gt;PaigeMiller, Thank you for your reply. While I was trying out your suggestion, Astounding replied another solution, which I quickly tested and confirmed that is where my problem is. Thank you for your help.&amp;nbsp; -Chin&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 06 Oct 2018 21:39:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502180#M6345</guid>
      <dc:creator>chinli72</dc:creator>
      <dc:date>2018-10-06T21:39:48Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502181#M6346</link>
      <description>&lt;P&gt;Are macro's always invoked without a ";" at the end?&lt;/P&gt;</description>
      <pubDate>Sat, 06 Oct 2018 21:43:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502181#M6346</guid>
      <dc:creator>chinli72</dc:creator>
      <dc:date>2018-10-06T21:43:00Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502183#M6347</link>
      <description>&lt;P&gt;No, ";" is never needed at the end of a macro invocation.&amp;nbsp; As a result, if you add one, it adds ";" to the program at that point&amp;nbsp; Much of the time an extra semicolon in the middle of a program doesn't hurt anything.&amp;nbsp; But in this case, it would.&lt;/P&gt;</description>
      <pubDate>Sat, 06 Oct 2018 21:52:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502183#M6347</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-10-06T21:52:04Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502187#M6348</link>
      <description>&lt;P&gt;I will keep an eye on these ";". Your suggestion has really&amp;nbsp;made my day. Thanks again.&lt;/P&gt;</description>
      <pubDate>Sat, 06 Oct 2018 21:55:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502187#M6348</guid>
      <dc:creator>chinli72</dc:creator>
      <dc:date>2018-10-06T21:55:34Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502237#M6349</link>
      <description>&lt;P&gt;Calling&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/15410"&gt;@data_null__&lt;/a&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Oct 2018 10:36:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502237#M6349</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-10-07T10:36:28Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502240#M6350</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;The %isblank macro works on macro variables. If you feed it text or a null argument, I have no idea what it will do, but it wasn't designed for that.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let a=XXX;&lt;/P&gt;
&lt;P&gt;%put %isblank(&amp;amp;a); /* Should return a 1 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let a=;&lt;/P&gt;
&lt;P&gt;%put %isblank(&amp;amp;a); /* Should return a 0 */&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Correcting my reply&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let a=XXX;
%put %isblank(&amp;amp;a); /* Should return a 0 */

%let a=;
%put %isblank(&amp;amp;a); /* Should return a 1 */&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Oct 2018 10:57:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502240#M6350</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-10-07T10:57:05Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502395#M6357</link>
      <description>&lt;P&gt;Hi Ksharp,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Are you suggesting that on the 2nd line, the added ";"&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;%macro isBlank(param) /store source;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;%sysevalf(%superq(param)=,boolean);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;%mend isBlank;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;has the effect as&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;%macro isBlank(param) /store source;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10092"&gt;@Data_null_&lt;/a&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;%mend isBlank;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;calling&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/15410"&gt;@data_null__&lt;/a&gt;?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Oct 2018 13:24:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502395#M6357</guid>
      <dc:creator>chinli72</dc:creator>
      <dc:date>2018-10-08T13:24:11Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502402#M6358</link>
      <description>&lt;P&gt;This macro is written by John King a.k.a&amp;nbsp;&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/15410"&gt;@data_null__&lt;/a&gt;&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;I mentioned him here to let him notice this question .&lt;/P&gt;</description>
      <pubDate>Mon, 08 Oct 2018 13:31:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502402#M6358</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-10-08T13:31:49Z</dc:date>
    </item>
    <item>
      <title>Re: Macro isBlank never returns a true condition.</title>
      <link>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502472#M6362</link>
      <description>Got it. Thank you.&lt;BR /&gt;</description>
      <pubDate>Mon, 08 Oct 2018 18:16:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Studio/Macro-isBlank-never-returns-a-true-condition/m-p/502472#M6362</guid>
      <dc:creator>chinli72</dc:creator>
      <dc:date>2018-10-08T18:16:13Z</dc:date>
    </item>
  </channel>
</rss>

