<?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: Why doesn't this macro work? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214018#M39489</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%then a;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;What are you expecting that portion of your code to do?&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 01 Apr 2015 03:36:12 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2015-04-01T03:36:12Z</dc:date>
    <item>
      <title>Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214017#M39488</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;%macro test(n);&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=1 %then a;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=2 %then b;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put %test(1)zz; /* produces azz */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data;&lt;/P&gt;&lt;P&gt;azz=0;&lt;/P&gt;&lt;P&gt;v1 = %test(1)zz;&amp;nbsp; /* produces error */&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 02:31:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214017#M39488</guid>
      <dc:creator>BruceBrad</dc:creator>
      <dc:date>2015-04-01T02:31:25Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214018#M39489</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%then a;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;What are you expecting that portion of your code to do?&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 03:36:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214018#M39489</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2015-04-01T03:36:12Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214019#M39490</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In the data step, I want to execute the line&lt;/P&gt;&lt;P&gt;v1 = azz;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So with&lt;/P&gt;&lt;P&gt;%then a;&lt;/P&gt;&lt;P&gt;I'm expecting the macro to return the text 'a'. It does this when I use the macro in the %put statement.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 03:44:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214019#M39490</guid>
      <dc:creator>BruceBrad</dc:creator>
      <dc:date>2015-04-01T03:44:56Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214020#M39491</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I cant test anything now, but would guess that it revolves with spaces so what you actually you see is&lt;/P&gt;&lt;P&gt;a zz. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can look into the vvaluex function regardless because I think that's close to what you're looking for. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 04:52:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214020#M39491</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2015-04-01T04:52:27Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214021#M39492</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I alos would have expected this to work.&lt;/P&gt;&lt;P&gt;This method works:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro test(n);&lt;/P&gt;&lt;P&gt;%global varname;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=1 %then %let varname=a;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=2 %then %let varname=b;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;azz = 0;&lt;/P&gt;&lt;P&gt;bzz = 1;&lt;/P&gt;&lt;P&gt;%test(1);&lt;/P&gt;&lt;P&gt;v1 = &amp;amp;varname.zz;&lt;/P&gt;&lt;P&gt;%test(2);&lt;/P&gt;&lt;P&gt;v2 = &amp;amp;varname.zz;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 07:10:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214021#M39492</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2015-04-01T07:10:46Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214022#M39493</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Back to the basics of tokens....&lt;A href="http://support.sas.com/documentation/cdl/en/mcrolref/68140/HTML/default/viewer.htm#p030uw6k2s7wzyn18i9obutg923m.htm" title="http://support.sas.com/documentation/cdl/en/mcrolref/68140/HTML/default/viewer.htm#p030uw6k2s7wzyn18i9obutg923m.htm"&gt;SAS(R) 9.4 Macro Language: Reference, Third Edition&lt;/A&gt;&lt;/P&gt;&lt;P&gt;As the compiler runs you have those words/tokens.&amp;nbsp; the %test(1) is a nice token and gets resolved. Than what you have caused is a change in the token of the datastep.. expecting azz as the next one token for the datastep. that is moving the pointer back to the beginning where the macro started.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks like that pointer for the next token is positioned AFTER the text insertion.&amp;nbsp; We could see this as unwanted unexpected behavior.&amp;nbsp; Should be easy to be solved by SAS. The only hurdle will be accepting this as a failure/defect/problem by SAS TS.&amp;nbsp;&amp;nbsp; Did you made a call to those?&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;The most easily answer of them is getting "works as designed"..... (sighhh) &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 07:39:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214022#M39493</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2015-04-01T07:39:06Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214023#M39494</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;It seems that when you build names like this, with macros, the result is not considered as one name by sas. Instead it's considered as two names that are concatenated. But if we put the expression inside of some macro function, we can put the parts together again. For example:&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;data;&lt;/P&gt;&lt;P&gt;&amp;nbsp; azz=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; v1 = %unquote(%test(1)zz);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 12:58:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214023#M39494</guid>
      <dc:creator>Fraktalnisse</dc:creator>
      <dc:date>2015-04-01T12:58:33Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214024#M39495</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You need put quote around it .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro test(n);&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=1 %then&amp;nbsp; a ;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=2 %then b ;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put %test(1)zz; /* produces azz */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data x;&lt;/P&gt;&lt;P&gt;azz=0;&lt;/P&gt;&lt;P&gt;v1 ="%test(1)zz";&amp;nbsp; /* produces error */&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: xia keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 13:14:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214024#M39495</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-04-01T13:14:51Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214025#M39496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class="sasSource"&gt;SAS UE&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;&lt;/P&gt;&lt;P class="sasSource"&gt; 42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P class="sasSource"&gt; 43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt; 44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro test(n);&lt;/P&gt;&lt;P class="sasSource"&gt; 45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;n=1 %then %do; a %end;&lt;/P&gt;&lt;P class="sasSource"&gt; 46&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;n=2 %then %do; b %end;&lt;/P&gt;&lt;P class="sasSource"&gt; 47&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %mend test;&lt;/P&gt;&lt;P class="sasSource"&gt; 48&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt; 49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put %test(1)zz; /* produces azz */&lt;/P&gt;&lt;P class="sasSource"&gt; azz&lt;/P&gt;&lt;P class="sasSource"&gt; 50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt; 51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data;&lt;/P&gt;&lt;P class="sasSource"&gt; 52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; azz=0;&lt;/P&gt;&lt;P class="sasSource"&gt; 53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v1 = %test(1)zz;&amp;nbsp; /* produces error */&lt;/P&gt;&lt;P class="sasSource"&gt; 53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v1 = %test(1)zz;&amp;nbsp; /* produces error */&lt;/P&gt;&lt;P class="sasError"&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __&lt;/P&gt;&lt;P class="sasError"&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&lt;/P&gt;&lt;P class="sasError" id="sasLogError1_1427895507453"&gt; ERROR 22-322: Syntax error, expecting one of the following: !, !!, &amp;amp;, *, **, +, -, /, &amp;lt;, &amp;lt;=, &amp;lt;&amp;gt;, =, &amp;gt;, &amp;gt;&amp;lt;, &amp;gt;=, AND, EQ, GE, GT, IN, &lt;/P&gt;&lt;P class="sasError"&gt;&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; LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, ^=, |, ||, ~=.&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt; 54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P class="sasSource"&gt;&lt;/P&gt;&lt;P class="sasSource"&gt;The error message is seeming the (1) being seen by the datastep not removed by macro-processing. Changing the code into:&lt;/P&gt;&lt;P class="sasSource"&gt; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;&lt;/P&gt;&lt;P class="sasSource"&gt; 42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P class="sasSource"&gt; 43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt; 44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro test(n);&lt;/P&gt;&lt;P class="sasSource"&gt; 45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if "&amp;amp;n"="" %then %do; a %end;&lt;/P&gt;&lt;P class="sasSource"&gt; 46&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if "&amp;amp;n"="1" %then %do; a %end;&lt;/P&gt;&lt;P class="sasSource"&gt; 47&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if "&amp;amp;n"="2" %then %do; b %end;&lt;/P&gt;&lt;P class="sasSource"&gt; 48&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %mend test;&lt;/P&gt;&lt;P class="sasSource"&gt; 49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt; 50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put %test(1)zz; /* produces azz */&lt;/P&gt;&lt;P class="sasSource"&gt; azz&lt;/P&gt;&lt;P class="sasSource"&gt; 51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt; 52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data;&lt;/P&gt;&lt;P class="sasSource"&gt; 53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; azz=0;&lt;/P&gt;&lt;P class="sasSource"&gt; 54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v1 = %test.zz;&amp;nbsp; /* produces error */&lt;/P&gt;&lt;P class="sasError"&gt;&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 class="sasError"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 388&lt;/P&gt;&lt;P class="sasError" id="sasLogError1_1427896005255"&gt; ERROR 388-185: Expecting an arithmetic operator.&lt;/P&gt;&lt;P class="sasError"&gt;&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 class="sasError"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&lt;/P&gt;&lt;P class="sasError" id="sasLogError2_1427896005255"&gt; ERROR 200-322: The symbol is not recognized and will be ignored.&lt;/P&gt;&lt;P class="sasError"&gt;You cannot leave the () away as it will fail to recognize the macro-name a dot as separation isn't valid syntax as the macro call is not a macro variable.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 13:36:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214025#M39496</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2015-04-01T13:36:14Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214026#M39497</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry. I just push my code too quickly. See the code updated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 13:42:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214026#M39497</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-04-01T13:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214027#M39498</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Xia, he wants to parametrize the name of the variable whose value should go into v1. So v1 should be numeric and have 0 (the value of azz) as value.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 14:01:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214027#M39498</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2015-04-01T14:01:25Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214028#M39499</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oh. I never realize why OP would want do this . It is so weird .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro test(n);&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=1 %then&amp;nbsp; a ;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=2 %then b ;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put %test(1)zz; /* produces azz */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data x;&lt;/P&gt;&lt;P&gt;azz=0;&lt;/P&gt;&lt;P&gt;v1 =%nrbquote(%test(1)zz);&amp;nbsp; /* produces error */&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 14:21:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214028#M39499</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-04-01T14:21:39Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214029#M39500</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Xia, indeed it is weird to parameterize a variables names. There are many more ways (arrays?) to do something smart.&amp;nbsp;&amp;nbsp; &lt;BR /&gt;That is bringing us to the question why would BruceBad want to do this. It is some part of his mind probably doing something in many many steps. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Apr 2015 14:28:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214029#M39500</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2015-04-01T14:28:24Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214030#M39501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I like Kurt's code that should be OK too and more elegant ..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Apr 2015 11:45:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214030#M39501</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-04-02T11:45:35Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214031#M39502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What output values are you expecting to see in variable V1?&amp;nbsp; Does V1 need to contain a character value representing the name of a variable or does V1 need to contain the value of a variable name?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kurts code:&lt;/P&gt;&lt;P&gt;%macro test(n);&lt;/P&gt;&lt;P&gt;%global varname;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=1 %then %let varname=a;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=2 %then %let varname=b;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;azz = 0;&lt;/P&gt;&lt;P&gt;bzz = 1;&lt;/P&gt;&lt;P&gt;%test(1);&lt;/P&gt;&lt;P&gt;v1 = &amp;amp;varname.zz;&lt;/P&gt;&lt;P&gt;%test(2);&lt;/P&gt;&lt;P&gt;v2 = &amp;amp;varname.zz;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print data=test(obs=7);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&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;&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; Obs&amp;nbsp;&amp;nbsp;&amp;nbsp; azz&amp;nbsp;&amp;nbsp;&amp;nbsp; bzz&amp;nbsp;&amp;nbsp;&amp;nbsp; v1&amp;nbsp;&amp;nbsp;&amp;nbsp; v2&lt;/P&gt;&lt;P&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;&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;&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; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XIA's code:&lt;/P&gt;&lt;P&gt;%macro test(n);&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=1 %then&amp;nbsp; a ;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=2 %then b ;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put %test(1)zz; /* produces azz */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data x;&lt;/P&gt;&lt;P&gt;azz=0;&lt;/P&gt;&lt;P&gt;v1 ="%test(1)zz"; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print data=x(obs=7);&lt;/P&gt;&lt;P&gt;run;&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;&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;&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; Obs&amp;nbsp;&amp;nbsp;&amp;nbsp; azz&amp;nbsp;&amp;nbsp;&amp;nbsp; v1&lt;/P&gt;&lt;P&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;&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;&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; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; azz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro test(n);&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=1 %then a;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=2 %then b;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%put %test(1)zz; /* produces azz */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data data4;&lt;/P&gt;&lt;P&gt;azz=0;&lt;/P&gt;&lt;P&gt;v1 = %unquote(%test(1)zz);&amp;nbsp; /*does not produce an error. V1 contains the value of variable AZZ */&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print data=data4;run;&lt;/P&gt;&lt;P&gt;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Obs&amp;nbsp;&amp;nbsp;&amp;nbsp; azz&amp;nbsp;&amp;nbsp;&amp;nbsp; v1&lt;/P&gt;&lt;P&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;&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;&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; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Apr 2015 12:22:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214031#M39502</guid>
      <dc:creator>jwillis</dc:creator>
      <dc:date>2015-04-02T12:22:53Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214032#M39503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bruce, thank you for posting!&amp;nbsp;&amp;nbsp; All the responders, Thank you for educating me!&lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro test(n);&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=QTR %then MSRP;&lt;/P&gt;&lt;P&gt;%if &amp;amp;n=MONTH %then INVOICE;&lt;/P&gt;&lt;P&gt;%mend test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%LET version = QTR;&amp;nbsp; *%LET version=MONTH;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table cars_total as&lt;/P&gt;&lt;P&gt;&amp;nbsp; select distinct sum(%unquote(%test(&amp;amp;VERSION.))) as &amp;amp;version._%unquote(%test(&amp;amp;VERSION.))_total, Make&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; from sashelp.cars&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; group by make &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; proc print data=cars_total(obs=9);run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Apr 2015 15:06:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214032#M39503</guid>
      <dc:creator>jwillis</dc:creator>
      <dc:date>2015-04-02T15:06:53Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214033#M39504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for all your suggestions. jwillis' use of the %unquote statement does what I want. (And yes, I probably could do this with arrays, but my original problem get very unwieldy using array statements). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, can anyone explain why it works like this?&amp;nbsp; Presumably there is some automatic quoting going on, but I can't see why.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Apr 2015 23:04:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214033#M39504</guid>
      <dc:creator>BruceBrad</dc:creator>
      <dc:date>2015-04-02T23:04:20Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214034#M39505</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I thought that i gave the %unquote answer in reply 6.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 04:38:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214034#M39505</guid>
      <dc:creator>Fraktalnisse</dc:creator>
      <dc:date>2015-04-03T04:38:53Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214035#M39506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes fraktalnisse Unquoting (or othere macro func) as having te string resolved by the macro-processor seem easier to me too.&lt;BR /&gt;All is about understanding the timing with macro-s &lt;A href="http://blogs.sas.com/content/publishing/2015/04/01/sas-authors-tip-macro-language-timing-is-everything/" title="http://blogs.sas.com/content/publishing/2015/04/01/sas-authors-tip-macro-language-timing-is-everything/"&gt;http://blogs.sas.com/content/publishing/2015/04/01/sas-authors-tip-macro-language-timing-is-everything/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And if it is a real coding problem needing a bypass. Than knowing the token as root cause you can avoid that in many ways.&lt;BR /&gt;My approach:&lt;BR /&gt;- Code the fixed value part in the macro so it can return to variable as one token for the datastep compiler.&lt;/P&gt;&lt;P&gt;44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro test(n,var=zz);&lt;/P&gt;&lt;P class="sasSource"&gt;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;n=1 %then a&amp;amp;var;&lt;/P&gt;&lt;P class="sasSource"&gt;46&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;n=2 %then b&amp;amp;var;&lt;/P&gt;&lt;P class="sasSource"&gt;47&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %mend test;&lt;/P&gt;&lt;P class="sasSource"&gt;48&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt;49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P class="sasSource"&gt;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data&amp;nbsp; sim ;&lt;/P&gt;&lt;P class="sasSource"&gt;51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; azz=0;&lt;/P&gt;&lt;P class="sasSource"&gt;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v1 = %test(1) ;&amp;nbsp; /* produces no error */&lt;/P&gt;&lt;P class="sasSource"&gt;53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 10:13:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214035#M39506</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2015-04-03T10:13:04Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't this macro work?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214036#M39507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So you did. I missed that. Credit now duly assigned &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Thanks again.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 04 Apr 2015 04:32:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-doesn-t-this-macro-work/m-p/214036#M39507</guid>
      <dc:creator>BruceBrad</dc:creator>
      <dc:date>2015-04-04T04:32:42Z</dc:date>
    </item>
  </channel>
</rss>

