<?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: Do Loop with IF in Macro in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152438#M30013</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, thanks for the responses. I need a loop, (maybe not a macro) as there will be multiple fields all with COL at the beginning.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input Parameter $ COL1 $ COL2 $;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;Intercept AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using the data above, I can create&amp;nbsp; a new field using a data step with the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;Type = 1;&lt;/P&gt;&lt;P&gt;if index(Parameter, col1 ) NE 0 then Type = 2;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like this to run in a loop and replace the col1 with col2 etc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the output should have an additional field TYPE that has a value of 2 if the strings in col1 or col2 are found in the field parameter:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameter&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; Col1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Col2&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; Type&lt;/P&gt;&lt;P&gt;Intercept&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; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;FISHLASTWEEK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;AGE&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; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;apologies for omissions previously, I will try the macro with the array, thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 16 Dec 2014 17:03:01 GMT</pubDate>
    <dc:creator>mike5</dc:creator>
    <dc:date>2014-12-16T17:03:01Z</dc:date>
    <item>
      <title>Do Loop with IF in Macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152434#M30009</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've been struggling with a do loop in SAS and would be grateful for any assistance. This is the data I have:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input Parameter $ COL1 $ COL2 $;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;Intercept AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to assess whether the string values contained in the variables COL1 or COL2 are evident in the field Parameter and if so assign a value of 2 to the variable TYPE.&lt;/P&gt;&lt;P&gt;The macro I created is below. The problem I am having is that the if statement does not seem to generate and the mprint option highlights this. Any assistance&lt;/P&gt;&lt;P&gt;is greatly appreaciated,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro ClassIdentifier(value);&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;TYPE = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %do i=1 %to &amp;amp;Value;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %let Varname = COL&amp;amp;i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if %index(Parameter, &amp;amp;Varname ) NE 0 %then TYPE = 2;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;options mprint;&lt;/P&gt;&lt;P&gt;%ClassIdentifier(2)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Dec 2014 16:09:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152434#M30009</guid>
      <dc:creator>mike5</dc:creator>
      <dc:date>2014-12-16T16:09:32Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop with IF in Macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152435#M30010</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why do you need a macro?&amp;nbsp; You could just create a flag in you read:&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input Parameter $ COL1 $ COL2 $;&lt;/P&gt;&lt;P&gt;flag1=index(parameter,col1);&amp;nbsp; /* Flag for first one */&lt;/P&gt;&lt;P&gt;flag2=index(parameter,col2);&amp;nbsp;&amp;nbsp; /* Flag for second */&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;Intercept AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Dec 2014 16:28:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152435#M30010</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-12-16T16:28:49Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop with IF in Macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152436#M30011</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It will help if you provide an example of what you expect for output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you create a basic data step that provided the desired output before attempting the macro approach? If so, please post that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to see if the variable Parameter in have contains the text COL1 you want:&lt;/P&gt;&lt;P&gt;&amp;nbsp; if&amp;nbsp;&amp;nbsp; index(Parameter,"COL&amp;amp;I") , no need to create the additional macro variable. You are getting false for the result as the string&lt;/P&gt;&lt;P&gt;Parameter does not contain COL1 or COL2. The macro processor not the data step evaluates the %index function and %if / %then.&lt;/P&gt;&lt;P&gt;Also, the index function is case sensitive so you may want index (upcase(Parameter),"COL&amp;amp;I").&lt;/P&gt;&lt;P&gt;%do I=1 to &amp;amp;value;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&amp;nbsp;&amp;nbsp; index(Parameter,"COL&amp;amp;I")&amp;nbsp; ne 0 then type=2;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;The if loop should then generate:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if index(Parameter,"COL1") ne 0 then type=2;&lt;/P&gt;&lt;P&gt;if index(Parameter,"COL2") ne 0 then type=2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also having the %do %end enclose the Run statement you could be generating at least one Run without a data step associated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Dec 2014 16:32:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152436#M30011</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2014-12-16T16:32:30Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop with IF in Macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152437#M30012</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;An alternative;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro ClassIdentifier(value);&lt;BR /&gt;data want (Drop=i);&lt;BR /&gt;set have;&lt;BR /&gt;Type=1;&lt;BR /&gt;Array C{*} $30. COL:;&lt;BR /&gt;Do i=1 To Dim(C);&lt;BR /&gt;&amp;nbsp; If Index(Parameter,C{i}) Then Type=2;&lt;BR /&gt;&amp;nbsp; Else Type=Min(Type,2);&lt;BR /&gt;End;&lt;BR /&gt;Run;&lt;BR /&gt;%mend;&lt;BR /&gt;%ClassIdentifier(value=2)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Dec 2014 16:34:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152437#M30012</guid>
      <dc:creator>user24feb</dc:creator>
      <dc:date>2014-12-16T16:34:31Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop with IF in Macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152438#M30013</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, thanks for the responses. I need a loop, (maybe not a macro) as there will be multiple fields all with COL at the beginning.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input Parameter $ COL1 $ COL2 $;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;Intercept AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;DRINKPATTERN AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;FISHLASTWEEK*AGE AGE DRINKPATTERN&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using the data above, I can create&amp;nbsp; a new field using a data step with the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;Type = 1;&lt;/P&gt;&lt;P&gt;if index(Parameter, col1 ) NE 0 then Type = 2;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like this to run in a loop and replace the col1 with col2 etc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the output should have an additional field TYPE that has a value of 2 if the strings in col1 or col2 are found in the field parameter:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameter&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; Col1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Col2&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; Type&lt;/P&gt;&lt;P&gt;Intercept&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; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;FISHLASTWEEK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;AGE&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; AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DRINKPATTERN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;apologies for omissions previously, I will try the macro with the array, thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Dec 2014 17:03:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152438#M30013</guid>
      <dc:creator>mike5</dc:creator>
      <dc:date>2014-12-16T17:03:01Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop with IF in Macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152439#M30014</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for the responses. I used the array and it works great, thank you. I'm still a bit miffed about the IF statement not functioning in the loop however ... maybe for another day!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Michael&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Dec 2014 17:25:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152439#M30014</guid>
      <dc:creator>mike5</dc:creator>
      <dc:date>2014-12-16T17:25:23Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop with IF in Macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152440#M30015</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;" I'm still a bit miffed about the IF statement not functioning in the loop however "&lt;/P&gt;&lt;P&gt;are you referring to the line:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if %index(Parameter, &amp;amp;Varname ) NE 0 %then TYPE = 2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or the line:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&amp;nbsp;&amp;nbsp; index(Parameter, col1 ) NE 0 then Type = 2;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Dec 2014 16:01:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152440#M30015</guid>
      <dc:creator>pwe</dc:creator>
      <dc:date>2014-12-18T16:01:10Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop with IF in Macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152441#M30016</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, the line:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;%if %index(Parameter, &amp;amp;Varname ) NE 0 %then TYPE = 2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I managed to get a little help with this and found it was an easy fix, just remove the % symbols as:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="font-style: inherit; font-weight: inherit;"&gt;if index(Parameter, &amp;amp;Varname ) NE 0 then TYPE = 2; &lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Works great now. I also implemented the array version as an alternative.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for the response&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Dec 2014 16:07:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152441#M30016</guid>
      <dc:creator>mike5</dc:creator>
      <dc:date>2014-12-18T16:07:48Z</dc:date>
    </item>
    <item>
      <title>Re: Do Loop with IF in Macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152442#M30017</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, the line&amp;nbsp; &lt;/P&gt;&lt;P&gt; %if %index(Parameter, &amp;amp;Varname ) NE 0 %then TYPE = 2;&lt;/P&gt;&lt;P&gt;was working correctly, your expectations were wrong &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;You were using macro statements where you should have used data step statements. A common problem when trying to learn and apply macro.&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Dec 2014 16:16:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Loop-with-IF-in-Macro/m-p/152442#M30017</guid>
      <dc:creator>pwe</dc:creator>
      <dc:date>2014-12-18T16:16:53Z</dc:date>
    </item>
  </channel>
</rss>

