<?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: Using a macro to enumerate in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687921#M208893</link>
    <description>&lt;P&gt;Is this what you want? (If not, describe further)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro enum (string);
%do i=1 %to %sysfunc(countw(&amp;amp;string));
     %let text=%scan(&amp;amp;string,&amp;amp;i,%str( ));
     %put &amp;amp;i &amp;amp;text;
%end;
%mend enum;
%enum(abc def ghi jkl)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Adding: you can do this in a data step as well, so unless you have a good reason for doing it in a macro, do it in a data step.&lt;/P&gt;</description>
    <pubDate>Wed, 30 Sep 2020 18:33:01 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2020-09-30T18:33:01Z</dc:date>
    <item>
      <title>Using a macro to enumerate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687919#M208891</link>
      <description>&lt;P&gt;Hello all. I have the following macro:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro enum (x,string);
%put &amp;amp;x. &amp;amp;string.;
%mend enum;

%enum(1,%str(horg));
%enum(2,%str(blorg));
%enum(3,%str(chorg));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It returns:&lt;/P&gt;
&lt;P&gt;1 horg&lt;/P&gt;
&lt;P&gt;2 blorg&lt;/P&gt;
&lt;P&gt;3 chorg&lt;/P&gt;
&lt;P&gt;However, I need to run this for many lines and I don't want to type each numeral (4, 5, 6, etc). How can I run this without specifying the numeral in each line? Can the macro count how many times it has been run in a SAS session? Or do I need another macro?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Wed, 30 Sep 2020 18:25:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687919#M208891</guid>
      <dc:creator>kpberger</dc:creator>
      <dc:date>2020-09-30T18:25:09Z</dc:date>
    </item>
    <item>
      <title>Re: Using a macro to enumerate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687921#M208893</link>
      <description>&lt;P&gt;Is this what you want? (If not, describe further)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro enum (string);
%do i=1 %to %sysfunc(countw(&amp;amp;string));
     %let text=%scan(&amp;amp;string,&amp;amp;i,%str( ));
     %put &amp;amp;i &amp;amp;text;
%end;
%mend enum;
%enum(abc def ghi jkl)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Adding: you can do this in a data step as well, so unless you have a good reason for doing it in a macro, do it in a data step.&lt;/P&gt;</description>
      <pubDate>Wed, 30 Sep 2020 18:33:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687921#M208893</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-09-30T18:33:01Z</dc:date>
    </item>
    <item>
      <title>Re: Using a macro to enumerate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687925#M208896</link>
      <description>Thanks for your reply. The macro calls do have to remain separate, and yes it has to be in a macro. Do you know of a way where the macro calls can remain separate?</description>
      <pubDate>Wed, 30 Sep 2020 18:37:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687925#M208896</guid>
      <dc:creator>kpberger</dc:creator>
      <dc:date>2020-09-30T18:37:28Z</dc:date>
    </item>
    <item>
      <title>Re: Using a macro to enumerate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687926#M208897</link>
      <description>&lt;P&gt;If the macro calls have to be separate, then I don't understand the desired functioning here. Please explain further. And also, explain why it has to be a macro and not a data step.&lt;/P&gt;</description>
      <pubDate>Wed, 30 Sep 2020 18:40:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687926#M208897</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-09-30T18:40:12Z</dc:date>
    </item>
    <item>
      <title>Re: Using a macro to enumerate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687930#M208900</link>
      <description>&lt;P&gt;Make X a global macro variable instead of a parameter.&amp;nbsp; If you want to reset the counter just assign a value to the global macro variable.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro enum (string);
%global enum_count ;
%let enum_count=%eval(&amp;amp;enum_count+1);
%put &amp;amp;enum_count. &amp;amp;string.;
%mend enum;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;31    %let enum_count=0;
32    %enum(horg);
1 horg
33    %enum(blorg);
2 blorg
34    %enum(chorg);
3 chorg
&lt;/PRE&gt;</description>
      <pubDate>Wed, 30 Sep 2020 18:46:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687930#M208900</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2020-09-30T18:46:54Z</dc:date>
    </item>
    <item>
      <title>Re: Using a macro to enumerate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687948#M208913</link>
      <description>Look up CALL EXECUTE().</description>
      <pubDate>Wed, 30 Sep 2020 19:08:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687948#M208913</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-09-30T19:08:26Z</dc:date>
    </item>
    <item>
      <title>Re: Using a macro to enumerate</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687962#M208920</link>
      <description>Perfect, thank you so much!!</description>
      <pubDate>Wed, 30 Sep 2020 19:47:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Using-a-macro-to-enumerate/m-p/687962#M208920</guid>
      <dc:creator>kpberger</dc:creator>
      <dc:date>2020-09-30T19:47:44Z</dc:date>
    </item>
  </channel>
</rss>

