<?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 Error? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621641#M182768</link>
    <description>&lt;P&gt;Thanks for your help, SASKiwi.&amp;nbsp; But your code was not working.&lt;/P&gt;</description>
    <pubDate>Sat, 01 Feb 2020 15:17:07 GMT</pubDate>
    <dc:creator>ybz12003</dc:creator>
    <dc:date>2020-02-01T15:17:07Z</dc:date>
    <item>
      <title>Macro Error?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621574#M182728</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an error message shown in my macro coding, any idea where went wrong?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let FormatList = A B C; 
 
%let FormatCNT=%sysfunc(countw(&amp;amp;FormatList));                                                                                                       
                                                                                                                                        
	%do JJ = 1 %to &amp;amp;FormatCNT;                                                                                                                    
	                                                                                                                                        
	%let Format=%scan(&amp;amp;FormatList,&amp;amp;JJ); 
    
	proc sql;
	     select distinct &amp;amp;Format. from test;
	quit;

%end;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;350 %let FormatList = A B C;&lt;/P&gt;
&lt;P&gt;351&lt;/P&gt;
&lt;P&gt;352 %let FormatlistCNT=%sysfunc(countw(&amp;amp;Formatlist));&lt;/P&gt;
&lt;P&gt;353&lt;/P&gt;
&lt;P&gt;354 %do JJ = 1 %to &amp;amp;FormatlistCNT;&lt;/P&gt;
&lt;P&gt;ERROR: The %DO statement is not valid in open code.&lt;/P&gt;
&lt;P&gt;355&lt;/P&gt;
&lt;P&gt;356 %let Format=%scan(&amp;amp;Formatlist,&amp;amp;JJ);&lt;/P&gt;
&lt;P&gt;WARNING: Apparent symbolic reference JJ not resolved.&lt;/P&gt;
&lt;P&gt;WARNING: Apparent symbolic reference JJ not resolved.&lt;/P&gt;
&lt;P&gt;ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric&lt;/P&gt;
&lt;P&gt;operand is required. The condition was: &amp;amp;JJ&lt;/P&gt;
&lt;P&gt;ERROR: Argument 2 to macro function %SCAN is not a number.&lt;/P&gt;
&lt;P&gt;357&lt;/P&gt;
&lt;P&gt;358 proc sql;&lt;/P&gt;
&lt;P&gt;359 select distinct &amp;amp;Format. from test;&lt;/P&gt;
&lt;P&gt;-----&lt;/P&gt;
&lt;P&gt;79&lt;/P&gt;
&lt;P&gt;ERROR 79-322: Expecting a FROM.&lt;/P&gt;
&lt;P&gt;360 quit;&lt;/P&gt;
&lt;P&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;/P&gt;
&lt;P&gt;NOTE: PROCEDURE SQL used (Total process time):&lt;/P&gt;
&lt;P&gt;real time 0.00 seconds&lt;/P&gt;
&lt;P&gt;cpu time 0.00 seconds&lt;/P&gt;
&lt;P&gt;ERROR: The %END statement is not valid in open code.&lt;/P&gt;
&lt;P&gt;361&lt;/P&gt;
&lt;P&gt;362 %end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 31 Jan 2020 23:01:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621574#M182728</guid>
      <dc:creator>ybz12003</dc:creator>
      <dc:date>2020-01-31T23:01:40Z</dc:date>
    </item>
    <item>
      <title>Re: Macro Error?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621578#M182730</link>
      <description>&lt;P&gt;You don't mention which version of SAS your using.&lt;/P&gt;
&lt;P&gt;the %do / %end structure likely needs to be used in an actual %macro / %mend definition and then called:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;%macro mymacro(formatlist =); 
%let FormatCNT=%sysfunc(countw(&amp;amp;FormatList));                                                                                                       
                                                                                                                                        
%do JJ = 1 %to &amp;amp;FormatCNT;                                                                                                                    
	%let Format=%scan(&amp;amp;FormatList,&amp;amp;JJ); 
	proc sql;
	     select distinct &amp;amp;Format. from test;
	quit;
%end;
%mend;
%mymacro(formatlist= A B C)&lt;/PRE&gt;
&lt;P&gt;I prefer to have explicit parameters in Macros instead of letting something outside the macro just "happen" to have values used inside.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Obviously not tested as I don't have your test dataset.&lt;/P&gt;</description>
      <pubDate>Fri, 31 Jan 2020 23:20:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621578#M182730</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-01-31T23:20:16Z</dc:date>
    </item>
    <item>
      <title>Re: Macro Error?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621579#M182731</link>
      <description>&lt;P&gt;Your macro code must go inside a macro:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let FormatList = A B C; 

%macro test;
 
%let FormatCNT=%sysfunc(countw(&amp;amp;FormatList));                                                                                                       
                                                                                                                                        
	%do JJ = 1 %to &amp;amp;FormatCNT;                                                                                                                    
	                                                                                                                                        
	%let Format=%scan(&amp;amp;FormatList,&amp;amp;JJ); 
    
	proc sql;
	     select distinct &amp;amp;Format. from test;
	quit;

%end;

%mend test;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 31 Jan 2020 23:20:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621579#M182731</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2020-01-31T23:20:37Z</dc:date>
    </item>
    <item>
      <title>Re: Macro Error?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621606#M182745</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/67134"&gt;@ybz12003&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The iterative %DO and %END statements are valid only inside a macro definition.&lt;/P&gt;
&lt;P&gt;That's why you get an error.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;</description>
      <pubDate>Sat, 01 Feb 2020 08:36:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621606#M182745</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-02-01T08:36:05Z</dc:date>
    </item>
    <item>
      <title>Re: Macro Error?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621640#M182767</link>
      <description>&lt;P&gt;Thank you so much!&lt;/P&gt;</description>
      <pubDate>Sat, 01 Feb 2020 15:16:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621640#M182767</guid>
      <dc:creator>ybz12003</dc:creator>
      <dc:date>2020-02-01T15:16:01Z</dc:date>
    </item>
    <item>
      <title>Re: Macro Error?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621641#M182768</link>
      <description>&lt;P&gt;Thanks for your help, SASKiwi.&amp;nbsp; But your code was not working.&lt;/P&gt;</description>
      <pubDate>Sat, 01 Feb 2020 15:17:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/621641#M182768</guid>
      <dc:creator>ybz12003</dc:creator>
      <dc:date>2020-02-01T15:17:07Z</dc:date>
    </item>
    <item>
      <title>Re: Macro Error?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/622589#M183155</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/67134"&gt;@ybz12003&lt;/a&gt;&amp;nbsp;- Please provide more details. Post your SAS log with any notes and errors. I doubt you would give your car to a mechanic for repair and just say "its not working"&amp;nbsp;&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;</description>
      <pubDate>Thu, 06 Feb 2020 01:07:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-Error/m-p/622589#M183155</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2020-02-06T01:07:09Z</dc:date>
    </item>
  </channel>
</rss>

