<?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: MOD in macro error in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/MOD-in-macro-error/m-p/449071#M112975</link>
    <description>&lt;P&gt;Alternatively, you could take advantage of this combination.&amp;nbsp; %IF always applies %EVAL, and %EVAL performs integer arithmetic.&amp;nbsp; So you could code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%if &amp;amp;group = &amp;amp;group / 2 * 2 %then %do;&lt;/P&gt;</description>
    <pubDate>Tue, 27 Mar 2018 17:31:56 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2018-03-27T17:31:56Z</dc:date>
    <item>
      <title>MOD in macro error</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MOD-in-macro-error/m-p/449062#M112972</link>
      <description>&lt;P&gt;Hi Everyone,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I run a macro and would like to do proc copy whenever the count is even number.&lt;/P&gt;
&lt;P&gt;I received error notice and am not sure how to fix it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#008000"&gt;NOTE: %INCLUDE (level 1) ending.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#008000"&gt;ERROR: Required operator not found in expression: MOD(&amp;amp;GROUP,2)=0&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#008000"&gt;ERROR: The macro OUTER_LOOP will stop executing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any help is very appreciated.&lt;/P&gt;
&lt;P&gt;HHCFX&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%MACRO OUTER_LOOP;
%DO &lt;FONT color="#FF0000"&gt;GROUP&lt;/FONT&gt;=1 %TO &amp;amp;MAX_GROUP;
... Mycode&lt;BR /&gt;
 %include "C:\mysas_code.sas" /lrecl=500;&lt;BR /&gt;
	*export subsample of final file;
	%if MOD(&amp;amp;&lt;FONT color="#FF0000"&gt;GROUP&lt;/FONT&gt;,2)=0 %then %do;
	data F2_&amp;amp;&lt;FONT color="#FF0000"&gt;group&lt;/FONT&gt;; set F2; run;
	proc copy in=work out=myfolder; select F2_&amp;amp;group;run;
	%end;
%END;

%MEND;

%OUTER_LOOP; run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 27 Mar 2018 17:04:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MOD-in-macro-error/m-p/449062#M112972</guid>
      <dc:creator>hhchenfx</dc:creator>
      <dc:date>2018-03-27T17:04:55Z</dc:date>
    </item>
    <item>
      <title>Re: MOD in macro error</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MOD-in-macro-error/m-p/449065#M112973</link>
      <description>&lt;P&gt;a quick look tells me you need %sysfunc to invoke sas functions&lt;/P&gt;&lt;P&gt;like&lt;/P&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token macrobound"&gt;%MACRO&lt;/SPAN&gt; OUTER_LOOP&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token macrostatement"&gt;%DO&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;GROUP&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%TO&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;MAX_GROUP&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; Mycode
 &lt;SPAN class="token macrostatement"&gt;%include&lt;/SPAN&gt; &lt;SPAN class="token string"&gt;"C:\mysas_code.sas"&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt;lrecl&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;500&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="token comment"&gt;*export subsample of final file;&lt;/SPAN&gt;
	&lt;SPAN class="token macrostatement"&gt;%if&lt;/SPAN&gt; %sysfunc(&lt;SPAN class="token function"&gt;MOD&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token keyword"&gt;GROUP&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;2&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;0&lt;/SPAN&gt; )&lt;SPAN class="token macrostatement"&gt;%then&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; F2_&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token keyword"&gt;group&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;set&lt;/SPAN&gt; F2&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="token procnames"&gt;proc&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;copy&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;in&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;work out&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;myfolder&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; &lt;SPAN class="token statement"&gt;select&lt;/SPAN&gt; F2_&lt;SPAN class="token operator"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="token keyword"&gt;group&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="token macrostatement"&gt;%end&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token macrostatement"&gt;%END&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="token macrobound"&gt;%MEND&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="token macroname"&gt;%OUTER_LOOP&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Mar 2018 17:14:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MOD-in-macro-error/m-p/449065#M112973</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-03-27T17:14:06Z</dc:date>
    </item>
    <item>
      <title>Re: MOD in macro error</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MOD-in-macro-error/m-p/449071#M112975</link>
      <description>&lt;P&gt;Alternatively, you could take advantage of this combination.&amp;nbsp; %IF always applies %EVAL, and %EVAL performs integer arithmetic.&amp;nbsp; So you could code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%if &amp;amp;group = &amp;amp;group / 2 * 2 %then %do;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Mar 2018 17:31:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MOD-in-macro-error/m-p/449071#M112975</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-03-27T17:31:56Z</dc:date>
    </item>
    <item>
      <title>Re: MOD in macro error</title>
      <link>https://communities.sas.com/t5/SAS-Programming/MOD-in-macro-error/m-p/449189#M113026</link>
      <description>&lt;P&gt;Thanks a lot!&lt;/P&gt;
&lt;P&gt;It works perfectly.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Mar 2018 22:54:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/MOD-in-macro-error/m-p/449189#M113026</guid>
      <dc:creator>hhchenfx</dc:creator>
      <dc:date>2018-03-27T22:54:07Z</dc:date>
    </item>
  </channel>
</rss>

