<?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 macro / %do loop /  conditional column deleting PROBLEM in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135031#M27455</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a database that looks like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Var&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D1_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D2_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D3_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D4_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D5_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D6_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D7_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D8_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D9_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_1_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_2_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_3_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_4_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_5_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_6_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_7_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_8_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_9_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxi&lt;/P&gt;&lt;P&gt;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 56&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 135&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 256&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 125&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 125&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 356&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 654&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 589&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 458&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 213&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 524&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 653&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 214&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 654&lt;/P&gt;&lt;P&gt;..... etc&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;maxi&lt;/SPAN&gt; is &lt;SPAN style="color: #ff0000;"&gt;max(k2_&amp;amp;i._)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm having the following code:&lt;/P&gt;&lt;P&gt;%macro do_list2;&lt;/P&gt;&lt;P&gt;data x;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set testing;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %do i=1 %to 9 %by 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (K2_&amp;amp;i._=maxi and &amp;amp;var &amp;lt;= D&amp;amp;i._) then I1_&amp;amp;var=1; else I1_&amp;amp;var=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (K2_&amp;amp;i._=maxi and &amp;amp;var &amp;gt; D&amp;amp;i._) then I2_&amp;amp;var=1; else I2_&amp;amp;var=0; &lt;/P&gt;&lt;P&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%do_list2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;My steps in arriving here were the following:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I have calculated the 9 percentiles of the variable "&amp;amp;var", then I have calculated a chisq test for each interval to see which one is more associated with the probability of default. I have recorded the highest value of this test in the "maxi" variable. In my code above I am trying (without succes) to determine the variable K2_&amp;amp;i._ that has the highest value (as you can see, here it corresponds to K2_&lt;SPAN style="color: #ff0000;"&gt;2&lt;/SPAN&gt;_, meaning that the 2nd percentile is the optimum split of the variable "var") and, with this in mind, I tell it that if (&amp;amp;var &amp;lt;= than D&lt;SPAN style="color: #ff0000;"&gt;2&lt;/SPAN&gt;_) then create me a dummy variable I1=1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... etc...&lt;/P&gt;&lt;P&gt;I have to perform this operation for lots of variables so I'm trying to automate it in a macro.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code above isn't working because if the maximum "K2_&amp;amp;i._" variable isn't the 9th one, the results will overwrite and I'm stuck with 2 dummy variables that only take the value 0.&lt;/P&gt;&lt;P&gt;I have tried to save the "&amp;amp;i." in another global variable like this:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;if K2_&amp;amp;i._=maxi then %let j=&amp;amp;i.;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* tried this version too j=&amp;amp;i */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Error. If it worked I would have used j instead of i in the condition &lt;SPAN style="color: #0000ff;"&gt;&amp;amp;var &amp;lt;= D&amp;amp;j._&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I thought that maybe if it were possible something like this:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;if K2_&amp;amp;i._ NE maxi then DROP K2_&amp;amp;i._;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Unfortunately SAS doesn't allow that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, any ideas??? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 Jul 2014 09:40:19 GMT</pubDate>
    <dc:creator>loredana_cornea</dc:creator>
    <dc:date>2014-07-24T09:40:19Z</dc:date>
    <item>
      <title>macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135031#M27455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a database that looks like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Var&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D1_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D2_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D3_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D4_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D5_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D6_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D7_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D8_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D9_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_1_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_2_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_3_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_4_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_5_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_6_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_7_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_8_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_9_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxi&lt;/P&gt;&lt;P&gt;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 56&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 135&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 256&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 125&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 125&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 356&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 654&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 589&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 458&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 213&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 524&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 653&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 214&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 654&lt;/P&gt;&lt;P&gt;..... etc&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;maxi&lt;/SPAN&gt; is &lt;SPAN style="color: #ff0000;"&gt;max(k2_&amp;amp;i._)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm having the following code:&lt;/P&gt;&lt;P&gt;%macro do_list2;&lt;/P&gt;&lt;P&gt;data x;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set testing;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %do i=1 %to 9 %by 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (K2_&amp;amp;i._=maxi and &amp;amp;var &amp;lt;= D&amp;amp;i._) then I1_&amp;amp;var=1; else I1_&amp;amp;var=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (K2_&amp;amp;i._=maxi and &amp;amp;var &amp;gt; D&amp;amp;i._) then I2_&amp;amp;var=1; else I2_&amp;amp;var=0; &lt;/P&gt;&lt;P&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%do_list2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;My steps in arriving here were the following:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I have calculated the 9 percentiles of the variable "&amp;amp;var", then I have calculated a chisq test for each interval to see which one is more associated with the probability of default. I have recorded the highest value of this test in the "maxi" variable. In my code above I am trying (without succes) to determine the variable K2_&amp;amp;i._ that has the highest value (as you can see, here it corresponds to K2_&lt;SPAN style="color: #ff0000;"&gt;2&lt;/SPAN&gt;_, meaning that the 2nd percentile is the optimum split of the variable "var") and, with this in mind, I tell it that if (&amp;amp;var &amp;lt;= than D&lt;SPAN style="color: #ff0000;"&gt;2&lt;/SPAN&gt;_) then create me a dummy variable I1=1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... etc...&lt;/P&gt;&lt;P&gt;I have to perform this operation for lots of variables so I'm trying to automate it in a macro.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code above isn't working because if the maximum "K2_&amp;amp;i._" variable isn't the 9th one, the results will overwrite and I'm stuck with 2 dummy variables that only take the value 0.&lt;/P&gt;&lt;P&gt;I have tried to save the "&amp;amp;i." in another global variable like this:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;if K2_&amp;amp;i._=maxi then %let j=&amp;amp;i.;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* tried this version too j=&amp;amp;i */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Error. If it worked I would have used j instead of i in the condition &lt;SPAN style="color: #0000ff;"&gt;&amp;amp;var &amp;lt;= D&amp;amp;j._&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I thought that maybe if it were possible something like this:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;if K2_&amp;amp;i._ NE maxi then DROP K2_&amp;amp;i._;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Unfortunately SAS doesn't allow that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, any ideas??? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Jul 2014 09:40:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135031#M27455</guid>
      <dc:creator>loredana_cornea</dc:creator>
      <dc:date>2014-07-24T09:40:19Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135032#M27456</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 would check out arrays.&amp;nbsp; For example:&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array d{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array k{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array l{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do I=1 to 9;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if d{I}=1 and k{1}=1 then l{I}=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Jul 2014 09:49:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135032#M27456</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-07-24T09:49:17Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135033#M27457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Either I didn't undertand the concept or I wasn't able to master it, it's not working. Here is my code adapted to your suggestion:&lt;/P&gt;&lt;P&gt;data x;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set testing;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array D{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array K2{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %do i=1 %to 9 %by 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (K2{i}=maxi and &amp;amp;var &amp;lt;= D{i}) then I1_&amp;amp;var=1; else I1_&amp;amp;var=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (K2{i}=maxi and &amp;amp;var &amp;lt;= D{i}) then I2_&amp;amp;var=0; else I2_&amp;amp;var=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 08:28:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135033#M27457</guid>
      <dc:creator>loredana_cornea</dc:creator>
      <dc:date>2014-07-25T08:28:21Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135034#M27458</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;Yes, you are mixing datastep and macro code there.&amp;nbsp; My example uses arrays in a normal datastep so you shouldn't need any macro code - though I am not sure and it doesn't say in your example where &amp;amp;var is defined.&amp;nbsp; Note also that you don't want the underscores as they then don't match the arrays :&lt;/P&gt;&lt;P&gt;%let var=SOME_VARIABLE;&lt;/P&gt;&lt;P&gt;data x;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set testing;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array D{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array K2{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array I{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=1 to 9 by 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (K2{i}=maxi and &amp;amp;var &amp;lt;= D{i}) then I{I}=1; else I{I}=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (K2{i}=maxi and &amp;amp;var &amp;lt;= D{i}) then I{I}=0; else I{I}=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The principal is that you have a set of variables all called the same thing, e.g. d1 d2 d3 - k2_1 k2_2 etc. these can be thought of as arrays.&amp;nbsp; You want a variable output for each one of these - another array.&amp;nbsp; Then its simply a matter of do looping over the 9 possibles and checking each one to your output array.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 08:49:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135034#M27458</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-07-25T08:49:31Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135035#M27459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Once you have defined an array you should no longer need to use macro logic to generate code. Instead the data step can loop over the index to the array and apply the logic.&lt;/P&gt;&lt;P&gt;Looks like you have two regular variables:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 12pt;"&gt;MAXI and &amp;amp;VAR&lt;/SPAN&gt;&amp;nbsp; (where the real name of the variable is contained in the macro variable VAR)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looks like you have two series of variables that we can use ARRAYS to reference:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 12pt;"&gt;ARRAY D&amp;nbsp; &lt;SPAN style="background-color: #ffffff;"&gt;D1_&amp;nbsp;&amp;nbsp; D2_&amp;nbsp;&amp;nbsp; D3_&amp;nbsp;&amp;nbsp; D4_&amp;nbsp;&amp;nbsp; D5_&amp;nbsp;&amp;nbsp; D6_&amp;nbsp;&amp;nbsp; D7_&amp;nbsp;&amp;nbsp; D8_&amp;nbsp;&amp;nbsp; D9_&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 12pt;"&gt;ARRAY K2 &lt;SPAN style="background-color: #ffffff;"&gt;K2_1_ K2_2_ K2_3_ K2_4_ K2_5_ K2_6_ K2_7_ K2_8_ K2_9_ &lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And you want to create two new series of variables:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 12pt;"&gt;ARRAY i1_ (9) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 12pt;"&gt;ARRAY i2_ (9) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then you want to assign these 0/1 values based on some logic.&amp;nbsp; It looks like you want the second to just be the complement of the first.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 12pt;"&gt;do i=1 to dim(D);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp; I1_(i) =&amp;nbsp; (k2(i) = MAXI and &amp;amp;var &amp;lt;= D(i)) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp; I2_(i) = not I1_(i);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 12pt;"&gt;end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note it would be much easier to write the code if the groups of variables did not have underscore appended to their names.&amp;nbsp; Then you could use variable lists. For example D1-D9 is a variable list that references variables D1, D2, D3, .... , D9.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 08:53:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135035#M27459</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2014-07-25T08:53:53Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135036#M27460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So, I've done the following:&lt;/P&gt;&lt;P&gt;%macro def(var);&lt;/P&gt;&lt;P&gt;.....&lt;/P&gt;&lt;P&gt;proc univariate .....&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp;&amp;nbsp; to obtain the D1_&amp;nbsp;&amp;nbsp; ... D9_&amp;nbsp; */&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;proc freq data .....&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* to obtain K2_1&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_9&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data x;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set testing;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array D{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array K{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array D D1_ D2_ D3_ D4_ D5_ D6_ D7_ D8_ D9_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array K2 K2_1 K2_2 K2_3 K2_4 K2_5 K2_6 K2_7 K2_8 K2_9; &lt;/P&gt;&lt;P&gt;&amp;nbsp; %do i=1 %to dim(D);&lt;/P&gt;&lt;P&gt;&amp;nbsp; I1_&amp;amp;var = (K2(i)=maxi and &amp;amp;var &amp;lt;= D(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp; I2_&amp;amp;var=1-I2_&amp;amp;var; &lt;/P&gt;&lt;P&gt;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And got:&lt;/P&gt;&lt;P&gt;ERROR 22-322: Syntax error, expecting one of the following: a name, a numeric constant, $, (,&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; ;, _ALL_, _CHARACTER_, _CHAR_, _NUMERIC_, _TEMPORARY_.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ERROR 124-185: The variable D has already been defined.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ERROR 201-322: The option is not recognized and will be ignored.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;26&amp;nbsp; ! data x;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set testing;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array D{9} best.;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array K{9} best.;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array D D1_ D2_&lt;/P&gt;&lt;P&gt;26&amp;nbsp; ! D3_ D4_ D5_ D6_ D7_ D8_ D9_;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array K2 K2_1 K2_2 K2_3&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; --&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; 124&lt;/P&gt;&lt;P&gt;ERROR: Required operator not found in expression: dim(D)&lt;/P&gt;&lt;P&gt;ERROR: The %TO value of the %DO I loop is invalid.&lt;/P&gt;&lt;P&gt;ERROR: The macro DEFAILLANCE will stop executing.&lt;/P&gt;&lt;P&gt;ERROR 124-185: The variable K2 has already been defined.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 10:17:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135036#M27460</guid>
      <dc:creator>loredana_cornea</dc:creator>
      <dc:date>2014-07-25T10:17:33Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135037#M27461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; First thing I would change is:&lt;/P&gt;&lt;P&gt;%macro def(var);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc univariate .....&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp;&amp;nbsp; to obtain the D1_&amp;nbsp;&amp;nbsp; ... D9_&amp;nbsp; */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Change these to be Dx - where x=1 to 9 - no&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; underscores */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc freq data .....&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* to obtain K2_1&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&amp;nbsp;&amp;nbsp;&amp;nbsp; K2_9&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data x;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set testing;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array D{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array K2_{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array I{9} best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to 9;&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; I{I}= (K2_(i)=maxi and &amp;amp;var &amp;lt;= D(i));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* This will fill the I array with 1 or 0 based on K and D array versus&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxin and &amp;amp;var */&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; /* This logic does not appear in your original description&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; I2_&amp;amp;var=1-I2_&amp;amp;var;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &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; hence I remove it */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;%mend def;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 10:32:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135037#M27461</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-07-25T10:32:12Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135038#M27462</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I assume the problem is that the percentiles were created in the univariate procedure and I can't define an array with the same name. So, how exactly i'm to declare the name of the percentiles in the output option of univariate as ARRAY?&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Concerning the other thing I just want a dummy variable I1_&amp;amp;var that goes 1 if &amp;amp;var&amp;lt;=the percentile corresponding to the maximum K2 and 0 otherwise. And I2 that is its complement.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 11:28:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135038#M27462</guid>
      <dc:creator>loredana_cornea</dc:creator>
      <dc:date>2014-07-25T11:28:30Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135039#M27463</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Could you provide some test input and desired output.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 11:59:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135039#M27463</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-07-25T11:59:52Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135040#M27464</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Of course:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Input:&lt;/P&gt;&lt;P&gt;Var&amp;nbsp;&amp;nbsp; D1&amp;nbsp;&amp;nbsp; D2&amp;nbsp;&amp;nbsp; D3&amp;nbsp;&amp;nbsp; D4&amp;nbsp;&amp;nbsp; D5&amp;nbsp;&amp;nbsp; D6&amp;nbsp;&amp;nbsp; D7&amp;nbsp;&amp;nbsp; D8&amp;nbsp;&amp;nbsp; D9&amp;nbsp;&amp;nbsp; K2_1&amp;nbsp;&amp;nbsp; K2_2&amp;nbsp;&amp;nbsp; K2_3&amp;nbsp;&amp;nbsp; K2_4&amp;nbsp;&amp;nbsp; K2_5&amp;nbsp;&amp;nbsp; K2_6&amp;nbsp;&amp;nbsp; K2_7&amp;nbsp;&amp;nbsp; K2_8&amp;nbsp;&amp;nbsp; K2_9&amp;nbsp; maxi&lt;/P&gt;&lt;P&gt;100&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&amp;nbsp; 45&amp;nbsp;&amp;nbsp;&amp;nbsp; 60&amp;nbsp;&amp;nbsp; 75&amp;nbsp;&amp;nbsp; 100 125&amp;nbsp; 130&amp;nbsp; 132&amp;nbsp;&amp;nbsp;&amp;nbsp; 77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 88&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101&amp;nbsp;&amp;nbsp;&amp;nbsp; 98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Output:&lt;/P&gt;&lt;P&gt;Var&amp;nbsp;&amp;nbsp;&amp;nbsp; D4&amp;nbsp;&amp;nbsp; K2_4&amp;nbsp;&amp;nbsp; I1_var&amp;nbsp;&amp;nbsp;&amp;nbsp; I2_var&lt;/P&gt;&lt;P&gt;100&amp;nbsp;&amp;nbsp;&amp;nbsp; 60&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&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;&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 12:06:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135040#M27464</guid>
      <dc:creator>loredana_cornea</dc:creator>
      <dc:date>2014-07-25T12:06:52Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135041#M27465</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, with that example the following achieves the output (oh, and I shouldn't have used best. on the format of the array):&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;&amp;nbsp; attrib Var&amp;nbsp;&amp;nbsp; D1&amp;nbsp;&amp;nbsp; D2&amp;nbsp;&amp;nbsp; D3&amp;nbsp;&amp;nbsp; D4&amp;nbsp;&amp;nbsp; D5&amp;nbsp;&amp;nbsp; D6&amp;nbsp;&amp;nbsp; D7&amp;nbsp;&amp;nbsp; D8&amp;nbsp;&amp;nbsp; D9&amp;nbsp;&amp;nbsp; K2_1&amp;nbsp;&amp;nbsp; K2_2&amp;nbsp;&amp;nbsp; K2_3&amp;nbsp;&amp;nbsp; K2_4&amp;nbsp;&amp;nbsp; K2_5&amp;nbsp;&amp;nbsp; K2_6&amp;nbsp;&amp;nbsp; K2_7&amp;nbsp;&amp;nbsp; K2_8&amp;nbsp;&amp;nbsp; K2_9&amp;nbsp; maxi format=best.;&lt;BR /&gt;&amp;nbsp; infile datalines;&lt;BR /&gt;&amp;nbsp; input Var&amp;nbsp;&amp;nbsp; D1&amp;nbsp;&amp;nbsp; D2&amp;nbsp;&amp;nbsp; D3&amp;nbsp;&amp;nbsp; D4&amp;nbsp;&amp;nbsp; D5&amp;nbsp;&amp;nbsp; D6&amp;nbsp;&amp;nbsp; D7&amp;nbsp;&amp;nbsp; D8&amp;nbsp;&amp;nbsp; D9&amp;nbsp;&amp;nbsp; K2_1&amp;nbsp;&amp;nbsp; K2_2&amp;nbsp;&amp;nbsp; K2_3&amp;nbsp;&amp;nbsp; K2_4&amp;nbsp;&amp;nbsp; K2_5&amp;nbsp;&amp;nbsp; K2_6&amp;nbsp;&amp;nbsp; K2_7&amp;nbsp;&amp;nbsp; K2_8&amp;nbsp;&amp;nbsp; K2_9&amp;nbsp; maxi;&lt;BR /&gt;datalines;&lt;BR /&gt;100&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&amp;nbsp; 45&amp;nbsp;&amp;nbsp;&amp;nbsp; 60&amp;nbsp;&amp;nbsp; 75&amp;nbsp;&amp;nbsp; 100 125&amp;nbsp; 130&amp;nbsp; 132&amp;nbsp;&amp;nbsp;&amp;nbsp; 77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 88&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101&amp;nbsp;&amp;nbsp;&amp;nbsp; 98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data want (keep=var d_result k2_result l1_var l2_var);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; attrib d_result k2_result l1_var l2_var format=best.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array K2_{9} 8.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array D{9} 8.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; i=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do while (i&amp;lt;=9 and l1_var=.);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if K2_{i}=maxi then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d_result=D{i};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k2_result=K2_{i};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if var &amp;lt;= D{i} then l1_var=1; else l1_var=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if var &amp;gt; D{i} then l2_var=1; else l2_var=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=i+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 12:27:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135041#M27465</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-07-25T12:27:50Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135042#M27466</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looks to me like the only thing you need to know if WHICH K2 item is MAXI and WHICH D item is VAR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt; &lt;/DIV&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; a;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; var d1-d9 k2_1-k2_9 maxi;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;array&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; d[&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;9&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;];&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;array&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; k2_[&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;9&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;];&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; i = whichn(maxi,of k2_&lt;LI&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; j = whichn(var,of d&lt;/LI&gt;&lt;LI&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; i1_var = i gt j;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; i2_var = i lt j;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/LI&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;cards&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffc0;"&gt;100&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&amp;nbsp; 45&amp;nbsp;&amp;nbsp;&amp;nbsp; 60&amp;nbsp;&amp;nbsp; 75&amp;nbsp;&amp;nbsp; 100 125&amp;nbsp; 130&amp;nbsp; 132&amp;nbsp;&amp;nbsp;&amp;nbsp; 77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 88&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101&amp;nbsp;&amp;nbsp;&amp;nbsp; 98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;;;;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 12:37:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135042#M27466</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2014-07-25T12:37:12Z</dc:date>
    </item>
    <item>
      <title>Re: macro / %do loop /  conditional column deleting PROBLEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135043#M27467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;THANK YOU ALL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I combined your very usefull advices and the perfect code looks like:&lt;/P&gt;&lt;P&gt;data x;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set testing;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array D[9];&lt;/P&gt;&lt;P&gt;&amp;nbsp; array K2_[9];&lt;/P&gt;&lt;P&gt;&amp;nbsp; i=whichn(maxi, of K2_&lt;LI&gt;);&lt;/LI&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I1_&amp;amp;var=(&amp;amp;var&amp;lt;=D&lt;I&gt;);&lt;/I&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I2_&amp;amp;var=1-I1_&amp;amp;var;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I appreciate your efforts very much. Thank you, you've made my day &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Jul 2014 14:26:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/macro-do-loop-conditional-column-deleting-PROBLEM/m-p/135043#M27467</guid>
      <dc:creator>loredana_cornea</dc:creator>
      <dc:date>2014-07-25T14:26:32Z</dc:date>
    </item>
  </channel>
</rss>

