<?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 Dynamic table creation – Macro – Do loop (through a list of elements) works only for first element in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634510#M188317</link>
    <description>&lt;P&gt;Hi everyone,&lt;BR /&gt;&lt;BR /&gt;I have a Macro that performs a Do loop over a list of elements (numbers).&lt;BR /&gt;This do loop executes good for the first element.&amp;nbsp;&lt;/P&gt;&lt;P&gt;But strangerly, it ignores the rest of the list, and there is no error message displayed.&lt;BR /&gt;&lt;BR /&gt;My question is the following : &lt;STRONG&gt;How do I rewrite my macro so that the Do loop performs for all elements of the list, not just the first one ?&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I could not transpose solutions from the post : &lt;A href="https://communities.sas.com/t5/SAS-Programming/Macro-loop-stuck-in-the-first-element/td-p/507723" target="_blank" rel="noopener"&gt;https://communities.sas.com/t5/SAS-Programming/Macro-loop-stuck-in-the-first-element/td-p/507723&lt;/A&gt;&amp;nbsp; My case is probably slighty different.&lt;/P&gt;&lt;P class="lia-align-center"&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size="4"&gt;The situation : creating a table&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="4"&gt;with N deleted observations&lt;/FONT&gt;&lt;BR /&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I have the following situation :&lt;BR /&gt;&lt;BR /&gt;- a dataset&amp;nbsp; "&lt;EM&gt;table_name&lt;/EM&gt;" with 2 columns : "&lt;EM&gt;Time&lt;/EM&gt;" and "&lt;EM&gt;Quantities&lt;/EM&gt;"&lt;BR /&gt;- I want to create a new table "&lt;EM&gt;table_name_N&lt;/EM&gt;" in which I delete the last N observations of "&lt;EM&gt;Quantities&lt;/EM&gt;"&amp;nbsp;&lt;/P&gt;&lt;P&gt;- To make it easier, I created a 3rd column named "&lt;EM&gt;Back&lt;/EM&gt;" that takes "&lt;EM&gt;Time&lt;/EM&gt;" from the end (see below for utility)&lt;BR /&gt;&lt;BR /&gt;For example, if N=4, we can compare my initial data and "&lt;EM&gt;table_name_4&lt;/EM&gt;" :&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;Initial Data :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Time&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Back&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Quantities&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;50&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100.4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;...&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;...&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;46&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;47&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;48&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108.5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108.9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;50&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;109.4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;New table :&amp;nbsp; "table_name_4"&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Time&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Back&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Quantities&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;50&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100.4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;...&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;...&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;46&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;47&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;48&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;49&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;50&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="lia-align-center"&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;&lt;U&gt;The goal :&lt;BR /&gt;dynamic creation of tables, whatever the number of tables&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like a macro that performs this automatically, e.g. :&lt;BR /&gt;&lt;STRONG&gt;A) for any value of N &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;B) for any number of tables I want to create.&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;That is, if my macro takes as argument the list&amp;nbsp; "4 8 12", I should obtain 3 tables :&lt;/P&gt;&lt;P&gt;- a table&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "table_name_4" &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with 4 deleted observations&lt;/P&gt;&lt;P&gt;- a table &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "table_name_8" &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with 8 deleted observations&lt;/P&gt;&lt;P&gt;- a table &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "table_name_12" &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with 12 deleted observations&lt;/P&gt;&lt;P class="lia-align-center"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="lia-align-center"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="lia-align-center"&gt;&lt;BR /&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;&lt;U&gt;My code : what works&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;I have the code that performs A) and produces the table "&lt;EM&gt;table_name_4&lt;/EM&gt;" or any kind of "table_name_N" :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;            data WORK.Table_Name_4.;
            set WORK.Table_Name ;

/* We use the "Back" column to control how many observations we delete */


                        DO i = 1 TO 4 ; 
                              if Back=i then Quantities =. ;
                        END ; 

            run  ; 

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="lia-align-center"&gt;&lt;BR /&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;&lt;U&gt;My code : what does not work&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;The following code is what should generalize A)&amp;nbsp; so that I can perfom B)&lt;BR /&gt;&lt;BR /&gt;Strangely enough, it does work for the first element of the list, and it does not produce error messages. But other elements of the list are ignored. I get the table&amp;nbsp; "table_name_4", but not the tables for 8 and 12 periods.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;U&gt;Code that does not work (1) : the Macro Definition&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro Dynamic_Table_Creation (periods = ); 


/* periods is a list of numbers : 4 8 12 or 1 2 3 4, etc...) */
              


/* local macro-variables for the outer loop */ 

%local i next_element ;



/* outer loop : controls how many tables we create */

/* %sysfunc(countw(&amp;amp;periods.)) is the upper bound of the loop, it indicates how many distinct tables are created */

              %do i=1 %to %sysfunc(countw(&amp;amp;periods.));



              /* next_element contains the running number index */


              /* for the value taken by "next_element", we create a table whose suffix is "next_element" */

              %let next_element = %scan(&amp;amp;periods., &amp;amp;i.); 

                            data WORK.table_name_&amp;amp;next_element.; 
                            set WORK.table_name ;


                            /* inner loop */

                            /* We use the "Back" column to control how many observations we delete */

                            %DO i = 1 %TO %eval(&amp;amp;next_element.) ; 
                                          if Back=&amp;amp;i. then Quantities=.;
                            %END ; 
                            run ; 
              %end ; 



%mend ;

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;U&gt;Code that does not work (2) : the Macro execution&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; %Dynamic_table_creation (periods = 4 8 12) ;&lt;BR /&gt;&lt;BR /&gt;/* 4 8 12&amp;nbsp; can be replaced with any other list of numbers, like 1 2 3 4 5 */&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;Now if I execute my macro it does good for the first element of my list.&lt;BR /&gt;That means "table_name_4" is created.&lt;BR /&gt;&lt;BR /&gt;But strangely, the loop ignores the rest of the list (numbers 8 and 12).&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;How should I modify my code so that my loop perform for every element of the list ?&lt;BR /&gt;That is, so that my loop creates 3 tables ?&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I work under SAS Enterprise Guide, and my version of SAS is SAS 9.1.3&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I'm clearly a beginner for Data Management in SAS, so I'm sorry if this trivial... but I've been stuck on this single issue for days now and can't find what I did wrong.&lt;BR /&gt;&lt;BR /&gt;Thanks in advance, any help would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 25 Mar 2020 08:57:16 GMT</pubDate>
    <dc:creator>makemo</dc:creator>
    <dc:date>2020-03-25T08:57:16Z</dc:date>
    <item>
      <title>Dynamic table creation – Macro – Do loop (through a list of elements) works only for first element</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634510#M188317</link>
      <description>&lt;P&gt;Hi everyone,&lt;BR /&gt;&lt;BR /&gt;I have a Macro that performs a Do loop over a list of elements (numbers).&lt;BR /&gt;This do loop executes good for the first element.&amp;nbsp;&lt;/P&gt;&lt;P&gt;But strangerly, it ignores the rest of the list, and there is no error message displayed.&lt;BR /&gt;&lt;BR /&gt;My question is the following : &lt;STRONG&gt;How do I rewrite my macro so that the Do loop performs for all elements of the list, not just the first one ?&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I could not transpose solutions from the post : &lt;A href="https://communities.sas.com/t5/SAS-Programming/Macro-loop-stuck-in-the-first-element/td-p/507723" target="_blank" rel="noopener"&gt;https://communities.sas.com/t5/SAS-Programming/Macro-loop-stuck-in-the-first-element/td-p/507723&lt;/A&gt;&amp;nbsp; My case is probably slighty different.&lt;/P&gt;&lt;P class="lia-align-center"&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size="4"&gt;The situation : creating a table&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="4"&gt;with N deleted observations&lt;/FONT&gt;&lt;BR /&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I have the following situation :&lt;BR /&gt;&lt;BR /&gt;- a dataset&amp;nbsp; "&lt;EM&gt;table_name&lt;/EM&gt;" with 2 columns : "&lt;EM&gt;Time&lt;/EM&gt;" and "&lt;EM&gt;Quantities&lt;/EM&gt;"&lt;BR /&gt;- I want to create a new table "&lt;EM&gt;table_name_N&lt;/EM&gt;" in which I delete the last N observations of "&lt;EM&gt;Quantities&lt;/EM&gt;"&amp;nbsp;&lt;/P&gt;&lt;P&gt;- To make it easier, I created a 3rd column named "&lt;EM&gt;Back&lt;/EM&gt;" that takes "&lt;EM&gt;Time&lt;/EM&gt;" from the end (see below for utility)&lt;BR /&gt;&lt;BR /&gt;For example, if N=4, we can compare my initial data and "&lt;EM&gt;table_name_4&lt;/EM&gt;" :&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;Initial Data :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Time&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Back&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Quantities&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;50&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100.4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;...&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;...&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;46&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;47&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;48&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108.5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108.9&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;50&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;109.4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;New table :&amp;nbsp; "table_name_4"&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Time&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Back&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Quantities&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;50&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;49&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;100.4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;...&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;...&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;46&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;108&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;47&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;48&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;49&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;50&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="lia-align-center"&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;&lt;U&gt;The goal :&lt;BR /&gt;dynamic creation of tables, whatever the number of tables&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like a macro that performs this automatically, e.g. :&lt;BR /&gt;&lt;STRONG&gt;A) for any value of N &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;B) for any number of tables I want to create.&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;That is, if my macro takes as argument the list&amp;nbsp; "4 8 12", I should obtain 3 tables :&lt;/P&gt;&lt;P&gt;- a table&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "table_name_4" &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with 4 deleted observations&lt;/P&gt;&lt;P&gt;- a table &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "table_name_8" &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with 8 deleted observations&lt;/P&gt;&lt;P&gt;- a table &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "table_name_12" &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; with 12 deleted observations&lt;/P&gt;&lt;P class="lia-align-center"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="lia-align-center"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="lia-align-center"&gt;&lt;BR /&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;&lt;U&gt;My code : what works&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;I have the code that performs A) and produces the table "&lt;EM&gt;table_name_4&lt;/EM&gt;" or any kind of "table_name_N" :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;            data WORK.Table_Name_4.;
            set WORK.Table_Name ;

/* We use the "Back" column to control how many observations we delete */


                        DO i = 1 TO 4 ; 
                              if Back=i then Quantities =. ;
                        END ; 

            run  ; 

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="lia-align-center"&gt;&lt;BR /&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;&lt;U&gt;My code : what does not work&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;The following code is what should generalize A)&amp;nbsp; so that I can perfom B)&lt;BR /&gt;&lt;BR /&gt;Strangely enough, it does work for the first element of the list, and it does not produce error messages. But other elements of the list are ignored. I get the table&amp;nbsp; "table_name_4", but not the tables for 8 and 12 periods.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;U&gt;Code that does not work (1) : the Macro Definition&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro Dynamic_Table_Creation (periods = ); 


/* periods is a list of numbers : 4 8 12 or 1 2 3 4, etc...) */
              


/* local macro-variables for the outer loop */ 

%local i next_element ;



/* outer loop : controls how many tables we create */

/* %sysfunc(countw(&amp;amp;periods.)) is the upper bound of the loop, it indicates how many distinct tables are created */

              %do i=1 %to %sysfunc(countw(&amp;amp;periods.));



              /* next_element contains the running number index */


              /* for the value taken by "next_element", we create a table whose suffix is "next_element" */

              %let next_element = %scan(&amp;amp;periods., &amp;amp;i.); 

                            data WORK.table_name_&amp;amp;next_element.; 
                            set WORK.table_name ;


                            /* inner loop */

                            /* We use the "Back" column to control how many observations we delete */

                            %DO i = 1 %TO %eval(&amp;amp;next_element.) ; 
                                          if Back=&amp;amp;i. then Quantities=.;
                            %END ; 
                            run ; 
              %end ; 



%mend ;

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;U&gt;Code that does not work (2) : the Macro execution&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; %Dynamic_table_creation (periods = 4 8 12) ;&lt;BR /&gt;&lt;BR /&gt;/* 4 8 12&amp;nbsp; can be replaced with any other list of numbers, like 1 2 3 4 5 */&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;Now if I execute my macro it does good for the first element of my list.&lt;BR /&gt;That means "table_name_4" is created.&lt;BR /&gt;&lt;BR /&gt;But strangely, the loop ignores the rest of the list (numbers 8 and 12).&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;How should I modify my code so that my loop perform for every element of the list ?&lt;BR /&gt;That is, so that my loop creates 3 tables ?&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I work under SAS Enterprise Guide, and my version of SAS is SAS 9.1.3&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I'm clearly a beginner for Data Management in SAS, so I'm sorry if this trivial... but I've been stuck on this single issue for days now and can't find what I did wrong.&lt;BR /&gt;&lt;BR /&gt;Thanks in advance, any help would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 25 Mar 2020 08:57:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634510#M188317</guid>
      <dc:creator>makemo</dc:creator>
      <dc:date>2020-03-25T08:57:16Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic creation table – Macro – Do loop (through a list of elements) works only for first eleme</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634514#M188319</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You have this loop:&lt;/P&gt;
&lt;PRE&gt;%do i=1 %to %sysfunc(countw(&amp;amp;periods.));&lt;/PRE&gt;
&lt;P&gt;And inside that loop you have another loop:&lt;/P&gt;
&lt;PRE&gt;%DO i = 1 %TO %eval(&amp;amp;next_element.) ; &lt;/PRE&gt;
&lt;P&gt;You can't use the same variable, i, for both loops.&amp;nbsp; When you do, the inner loop will increment the value of i, so the outer loop only executes once.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You could change the inner loop to :&lt;/P&gt;
&lt;PRE&gt;%DO j = 1 %TO %eval(&amp;amp;next_element.) ; &lt;/PRE&gt;
&lt;P&gt;And make related changes to create a local variable j, and use j in references on the inner loop.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Mar 2020 17:42:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634514#M188319</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2020-03-24T17:42:52Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic creation table – Macro – Do loop (through a list of elements) works only for first eleme</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634517#M188321</link>
      <description>&lt;P&gt;It works !!!&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank you very much !!!&lt;BR /&gt;&lt;BR /&gt;Quick and good reply, perfect solution to my headaches.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Mar 2020 17:51:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634517#M188321</guid>
      <dc:creator>makemo</dc:creator>
      <dc:date>2020-03-24T17:51:39Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic creation table – Macro – Do loop (through a list of elements) works only for first eleme</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634521#M188323</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;won't something like this be ok?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table_name;
do time = 1 to 50;
  back = 51-time;
  Quantities = 100 + ranuni(1);
  output;
end;
run;

%macro Dynamic_Table_Creation (periods = ); 
%local i next_element cntw;
%let cntw = %sysfunc(countw(&amp;amp;periods.));
  %do i=1 %to &amp;amp;CNTW.;
    %let next_element = %scan(&amp;amp;periods., &amp;amp;i.); 

    data WORK.table_name_&amp;amp;next_element.; 
    set WORK.table_name ;
     
      if Back &amp;lt;= &amp;amp;next_element. then Quantities=.;
    run ; 
  %end ; 
%mend ;

%Dynamic_Table_Creation(periods=1 2 3 7 13)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;All the best&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Tue, 24 Mar 2020 18:06:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634521#M188323</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2020-03-24T18:06:33Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic creation table – Macro – Do loop (through a list of elements) works only for first eleme</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634524#M188325</link>
      <description>Your loop is fine, you forgot to end a comment before the data step is the primary issue.&lt;BR /&gt;&lt;BR /&gt; This is all one comment in your code:&lt;BR /&gt;&lt;BR /&gt;              /* for the value taken by "next_element", we create a table whose suffix is "next_element" &lt;BR /&gt;&lt;BR /&gt;              %let next_element = %scan(&amp;amp;periods., &amp;amp;i.); &lt;BR /&gt;&lt;BR /&gt;                            data WORK.table_name_&amp;amp;next_element.; &lt;BR /&gt;                            set WORK.table_name ;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;                            /* inner loop */&lt;BR /&gt;</description>
      <pubDate>Tue, 24 Mar 2020 18:05:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634524#M188325</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-03-24T18:05:35Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic creation table – Macro – Do loop (through a list of elements) works only for first eleme</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634652#M188380</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Yes you're right, I forgot some "*/" . But this is only a mistake I made here when reproducing my code for communities.sas.&amp;nbsp; In my own code the commentaries are fine.&lt;BR /&gt;&lt;BR /&gt;Thank you anyway for the input, I will be more careful next time.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Mar 2020 09:02:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634652#M188380</guid>
      <dc:creator>makemo</dc:creator>
      <dc:date>2020-03-25T09:02:13Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic creation table – Macro – Do loop (through a list of elements) works only for first eleme</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634698#M188400</link>
      <description>&lt;P&gt;Hi Yabwon,&lt;BR /&gt;&lt;BR /&gt;Yes, I've tried it, and it does the work too !&lt;BR /&gt;&lt;BR /&gt;It seems actually a cleaner and more efficient code, and less prone to errors, because the inner loop is not needed anymore. I will certainly adopt this code, seems just better overall.&lt;BR /&gt;&lt;BR /&gt;Thanks a lot for the input, very well crafted.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Mar 2020 11:23:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dynamic-table-creation-Macro-Do-loop-through-a-list-of-elements/m-p/634698#M188400</guid>
      <dc:creator>makemo</dc:creator>
      <dc:date>2020-03-25T11:23:38Z</dc:date>
    </item>
  </channel>
</rss>

