<?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 Until loop in macro environnement not compiling in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409018#M99905</link>
    <description>&lt;P&gt;Classic misunderstanding of the macro &lt;U&gt;&lt;STRONG&gt;PRE&lt;/STRONG&gt;&lt;/U&gt;processor.&lt;/P&gt;
&lt;P&gt;The preprocessor only sees the text at the time it executes (while the code is being fetched and BEFORE any steps are compiled and executed!), so it NEVER has access to data step variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since macro only knows the datatype text, the condtions look like the following after resolution of macro variables:&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;&lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%until&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;201701&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; mois_resil&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/LI-CODE&gt;
&lt;P&gt;which will never be true, and &lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let i = %eval(201701 + 1);
%do %until (201702 = mois_resil) ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;which will also never be true, resulting in endless macro loops.&lt;/P&gt;
&lt;P&gt;What are you trying to achieve, anyway? Please post an example for the desired result. As in 99% of these cases, you probably won't need a macro at all.&lt;/P&gt;</description>
    <pubDate>Tue, 31 Oct 2017 09:23:48 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2017-10-31T09:23:48Z</dc:date>
    <item>
      <title>Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409013#M99902</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm having an issue using the do until statement in a macro, here is a watered down version of what I'm trying to achieve :&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input id date_effet mois_resil;
cards;
1 201704 201804
2 201705 201712
;
run;

%Macro essai;

data result;
set test;
%let month = 201701;
%do %until (&amp;amp;month. = mois_resil) ;
	if &amp;amp;month. = date_effet then do;
		nb_j_&amp;amp;month. = 29;
		%let i = %eval(&amp;amp;month. + 1);
		%do %until (&amp;amp;i. = mois_resil) ;
			nb_j_&amp;amp;i. = 31;
			%let i = %eval(&amp;amp;i. + 1);
    		%if %substr(&amp;amp;i., 5, 2) = 12 %then %let i = %eval(&amp;amp;i. + 88);
		%end;
	end;
	%let month = %eval(&amp;amp;month. + 1);
    %if %substr(&amp;amp;month., 5, 2) = 12 %then %let month = %eval(&amp;amp;month. + 88);       
%end;
nb_j_&amp;amp;month. = 28;

run;

%mend;

%essai;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I don't understand why it's not compiling, thanks in advance&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 09:07:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409013#M99902</guid>
      <dc:creator>ingridf</dc:creator>
      <dc:date>2017-10-31T09:07:27Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409015#M99903</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%until&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 function"&gt;month&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; mois_resil&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Here, you are comparing the value of macrovariable month witjh the word mois_resil. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is a regular loop that you need here, not a macro loop.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 09:15:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409015#M99903</guid>
      <dc:creator>gamotte</dc:creator>
      <dc:date>2017-10-31T09:15:27Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409016#M99904</link>
      <description>&lt;P&gt;Its because you are mixing Base SAS and Macro.&amp;nbsp; Let me clarify macro&amp;nbsp;&lt;U&gt;&lt;STRONG&gt;is not a replacement for Base SAS.&amp;nbsp; Macro only creates text.&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;The macro part of your code is replaced&amp;nbsp;&lt;U&gt;&lt;STRONG&gt;before&lt;/STRONG&gt;&lt;/U&gt; any code is run by the macro pre-processor and the Base SAS code which is generated is then compiled and run.&amp;nbsp; There is, from the code you post, no need or reason to use macro in this at all, simple Base SAS datastep can achieve what you want.&amp;nbsp; If you provide what you want the output to be then I will show you.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 09:18:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409016#M99904</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-10-31T09:18:01Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409018#M99905</link>
      <description>&lt;P&gt;Classic misunderstanding of the macro &lt;U&gt;&lt;STRONG&gt;PRE&lt;/STRONG&gt;&lt;/U&gt;processor.&lt;/P&gt;
&lt;P&gt;The preprocessor only sees the text at the time it executes (while the code is being fetched and BEFORE any steps are compiled and executed!), so it NEVER has access to data step variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since macro only knows the datatype text, the condtions look like the following after resolution of macro variables:&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;&lt;SPAN class="token macrostatement"&gt;%do&lt;/SPAN&gt; &lt;SPAN class="token macrostatement"&gt;%until&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;201701&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; mois_resil&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/LI-CODE&gt;
&lt;P&gt;which will never be true, and &lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let i = %eval(201701 + 1);
%do %until (201702 = mois_resil) ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;which will also never be true, resulting in endless macro loops.&lt;/P&gt;
&lt;P&gt;What are you trying to achieve, anyway? Please post an example for the desired result. As in 99% of these cases, you probably won't need a macro at all.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 09:23:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409018#M99905</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-10-31T09:23:48Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409019#M99906</link>
      <description>&lt;P&gt;Thank you for your answers. The variable "nb_j_&amp;amp;month." is the reason why I'm using macros. I need as many as variables as there are months between "date_effet" (subscription date) and "mois_resil" (resiliation date), with that syntax (nb_j_+ month in question). Is there another way to achieve this without using macros?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And basically I want to assign a particular value for the first month, another value for the last month and the same value for all the months in between.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 09:27:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409019#M99906</guid>
      <dc:creator>ingridf</dc:creator>
      <dc:date>2017-10-31T09:27:09Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409021#M99907</link>
      <description>&lt;P&gt;Please post the desired result out of your example dataset.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do you want to create multiple variables? If yes, you need to know the range of variables before you execute the macro do loop. You CANNOT make it dependent on datastep values. To do that, you need to evaluate possible values first in a separate step, so you can then control the action of the macro.&lt;/P&gt;
&lt;P&gt;But you &lt;EM&gt;might&lt;/EM&gt; have a task that is best solved with proc transpose. Once again, post the desired result in tabular form.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 09:37:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409021#M99907</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-10-31T09:37:34Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409023#M99908</link>
      <description>&lt;P&gt;Please show a clear example, provide input dataset and required output.&amp;nbsp; Its not clear from the post.&amp;nbsp; From a guess it sounds like arrays would be what you want:&lt;/P&gt;
&lt;PRE&gt;data _null_;
  set test;
  call symput('mb',intck('month',date_effet,mois_resil));
run;

data want;
  set have;
  array v{&amp;amp;mb.};
  ...
run;&lt;/PRE&gt;
&lt;P&gt;However I caution the use of columns for data, its is generally far easier to work with data in rows rather than columns.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 09:41:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409023#M99908</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-10-31T09:41:30Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409031#M99909</link>
      <description>&lt;P&gt;Using this simple data :&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input id date_effet mois_resil;
cards;
1 201701 201801
2 201702 201711
;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I just realized I forgot to initialize my variable, here is the revised code :&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%Macro essai;

data result;
set test;

%do i = 201701 %to 201801;
	nb_j_&amp;amp;i. = 0;
    %if %substr(&amp;amp;month., 5, 2) = 12 %then %let month = %eval(&amp;amp;month. + 88);       
%end;

%let month = 201701;
do until (&amp;amp;month. = mois_resil) ;
	if &amp;amp;month. = date_effet then do;
		nb_j_&amp;amp;month. = 29;
		%let i = %eval(&amp;amp;month. + 1);
		do until (&amp;amp;i. = mois_resil) ;
			nb_j_&amp;amp;i. = 31;
			%let i = %eval(&amp;amp;i. + 1);
    		%if %substr(&amp;amp;i., 5, 2) = 12 %then %let i = %eval(&amp;amp;i. + 88);
		end;
	end;
	%let month = %eval(&amp;amp;month. + 1);
    %if %substr(&amp;amp;month., 5, 2) = 12 %then %let month = %eval(&amp;amp;month. + 88);       
end;
nb_j_&amp;amp;month. = 28;

run;

%mend;

%essai;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;This is the result I want :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;id      date_effet    mois_resil   nb_j_201701  nb_j_201702 ....... nb_j_201801
1       201701        201801       29                 31                    28              
2       201702        201711       0                  29                     0 &lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My actual dataset is of course much longer&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 09:52:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409031#M99909</guid>
      <dc:creator>ingridf</dc:creator>
      <dc:date>2017-10-31T09:52:46Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409038#M99913</link>
      <description>&lt;P&gt;You would have to retrieve the smallest value for data_effet and the largest value for mois_resil first, so you know the upper and lower bounds of your array first.&lt;/P&gt;
&lt;P&gt;But producing such a dataset is not effective anyway, instead store such data in a long format:&lt;/P&gt;
&lt;P&gt;First of all, store dates as SAS dates:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input id date_effet :yymmdd8. mois_resil :yymmdd8.;
format date_effet mois_resil yymmddn8.;
cards;
1 20170101 20180101
2 20170201 20171101
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Then create a vertical dataset with all periods for your ID's:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data result;
set test;
format period yymmddn8.;
period = date_effet;
do while period le mois_resil;
  output;
  period = intnx('month',period,1,'b');
end;
drop date_effet mois_resil;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;and work with that. The wide format is unwieldy and wastes space.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 10:04:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409038#M99913</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-10-31T10:04:47Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409041#M99914</link>
      <description>&lt;P&gt;The reason why I'm working with "year&amp;amp;month" syntax for my variables (date_effet and mois_resil) is because that's the increment I want for my "nb_j_" variable. Using the full format ("year&amp;amp;month&amp;amp;date") would give me way too many "nb_j_" variables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, my actual data has a little over 1M lines and the time period would go from 201110 (smallest value of date_effet) to 202103 (largest value of mois_resil), wouldn't creating a &lt;SPAN&gt;vertical dataset with all periods for each ID take up way too much space?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 10:22:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409041#M99914</guid>
      <dc:creator>ingridf</dc:creator>
      <dc:date>2017-10-31T10:22:05Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409069#M99918</link>
      <description>&lt;P&gt;The year_month syntax in the form you used is bogus, because incrementing 201612 will give you 201613 and not 201701. You will have to use an extra if condition to handle that; using proper SAS dates and the intnx() function takes care of it all, while the display format yymmn6. would remove the display of the days. And this also enables all the other date-related functions, most importantly intck().&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just &lt;EM&gt;because&lt;/EM&gt; you have so many records, the long format would save space.&lt;/P&gt;
&lt;P&gt;You have a proposed maximum range of 10*12-7 months, and I seriously doubt that many of your original observations would span over the whole range or at least a significant part of it. That means that most of your values in the wide format would be either zero or missing. The long format prevents writing a record for such instances in the first place, and will reduce the overall dataset size. Combined with the fact that you then have a uniform structure with fixed simple variable names, programming will become easier/simpler by orders of magnitude.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Oct 2017 11:51:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409069#M99918</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-10-31T11:51:04Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409125#M99938</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Assuming your data is stored as sas dates, otherwise, you will need a preliminary conversion :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
informat date_effet mois_resil yymmn6.;
format date_effet mois_resil yymmn6.;
input id date_effet mois_resil;
cards;
1 201701 201801
2 201702 201711
;
run;

/* 1. Determination of the min and max dates and the length necessary for generating a string */
/*    that concatenates all column names m&amp;lt;min_date&amp;gt; -- m&amp;lt;max_date&amp;gt;                           */
proc sql noprint;
	SELECT min(min(date_effet,mois_resil)) AS min_date, max(max(date_effet,mois_resil)) AS max_date, 
	       12*(intck("month",CALCULATED min_date, CALCULATED max_date)+1)+1
	INTO :min_date, :max_date, :strlength
	FROM test;
quit;

/* 2. Generation of column names */
data _NULL_;
	length dates $&amp;amp;strlength.;

	m=&amp;amp;min_date.;

	dates=cats("nb_j_",put(m,yymmn6.));
	i=0;
	do while (m&amp;lt;&amp;amp;max_date.);
		m=intnx("month",m,1);
	    dates=cat(strip(dates)," nb_j_", put(m,yymmn6.));
		i=i+1;
	end;
	call symput("dates",dates);
run;

%put &amp;amp;=dates.;

/* 3. Generation of the desired output */
data result;
	set test;

	format &amp;amp;dates. 3.;

	array nb_j(*) &amp;amp;dates.;

	effet=0;

	do i=1 to dim(nb_j);
		if effet then nb_j(i)=31;
		if substr(vname(nb_j(i)),6)=put(date_effet,yymmn6.) then do;
			effet=1;
			nb_j(i)=29;
		end;
		if substr(vname(nb_j(i)),6)=put(mois_resil,yymmn6.) then leave;
	end;

	nb_j(i-1)=28;

	drop effet i;

run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 31 Oct 2017 14:16:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/409125#M99938</guid>
      <dc:creator>gamotte</dc:creator>
      <dc:date>2017-10-31T14:16:50Z</dc:date>
    </item>
    <item>
      <title>Re: Do Until loop in macro environnement not compiling</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/410122#M100234</link>
      <description>&lt;P&gt;Thank you all for your help, I used&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/30622"&gt;@gamotte&lt;/a&gt;&amp;nbsp;'s solution &amp;amp; tweaked it to fit my data&lt;/P&gt;</description>
      <pubDate>Fri, 03 Nov 2017 08:57:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-Until-loop-in-macro-environnement-not-compiling/m-p/410122#M100234</guid>
      <dc:creator>ingridf</dc:creator>
      <dc:date>2017-11-03T08:57:51Z</dc:date>
    </item>
  </channel>
</rss>

