<?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 Reg:Macro Looping i wnat one obs in that macro in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Reg-Macro-Looping-i-wnat-one-obs-in-that-macro/m-p/105905#M22055</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data l2;&lt;BR /&gt;input id $;&lt;BR /&gt;cards;&lt;BR /&gt;c1&lt;BR /&gt;c2&lt;BR /&gt;c3&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;select count(*) into:emailtblcnt from l2;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;In this the macro varibale at a time should hold one value if we run this at one instance the macro ids should have one value. how can i loop it&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%macro emicnt;&lt;BR /&gt;%do i=1 %to &amp;amp;emailtblcnt.;&lt;BR /&gt;proc sql;&lt;BR /&gt;select id into:ids from l2;&lt;BR /&gt;quit;&lt;BR /&gt;%put &amp;amp;ids;&lt;BR /&gt;%end;&lt;BR /&gt;%mend;&lt;/P&gt;&lt;P&gt;%emicnt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 28 Aug 2012 14:14:41 GMT</pubDate>
    <dc:creator>R_Win</dc:creator>
    <dc:date>2012-08-28T14:14:41Z</dc:date>
    <item>
      <title>Reg:Macro Looping i wnat one obs in that macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reg-Macro-Looping-i-wnat-one-obs-in-that-macro/m-p/105905#M22055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data l2;&lt;BR /&gt;input id $;&lt;BR /&gt;cards;&lt;BR /&gt;c1&lt;BR /&gt;c2&lt;BR /&gt;c3&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;select count(*) into:emailtblcnt from l2;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;In this the macro varibale at a time should hold one value if we run this at one instance the macro ids should have one value. how can i loop it&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;%macro emicnt;&lt;BR /&gt;%do i=1 %to &amp;amp;emailtblcnt.;&lt;BR /&gt;proc sql;&lt;BR /&gt;select id into:ids from l2;&lt;BR /&gt;quit;&lt;BR /&gt;%put &amp;amp;ids;&lt;BR /&gt;%end;&lt;BR /&gt;%mend;&lt;/P&gt;&lt;P&gt;%emicnt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Aug 2012 14:14:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reg-Macro-Looping-i-wnat-one-obs-in-that-macro/m-p/105905#M22055</guid>
      <dc:creator>R_Win</dc:creator>
      <dc:date>2012-08-28T14:14:41Z</dc:date>
    </item>
    <item>
      <title>Re: Reg:Macro Looping i wnat one obs in that macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reg-Macro-Looping-i-wnat-one-obs-in-that-macro/m-p/105906#M22056</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;R_Win,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Modify the first SQL before you even get to macro language.&amp;nbsp; Add another SELECT statement:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select strip(ids) into : email_list separated by ' ' from I2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then inside your macro you can loop:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%do i=1 %to &amp;amp;emailtblcnt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %let next_id = scan(&amp;amp;email_list, &amp;amp;i, %str( ));&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This approach assumes that the individual values of ID will not contain an embedded blank.&amp;nbsp; If there are embedded blanks, it gets more complicated but can still be done.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Aug 2012 14:45:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reg-Macro-Looping-i-wnat-one-obs-in-that-macro/m-p/105906#M22056</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-08-28T14:45:33Z</dc:date>
    </item>
    <item>
      <title>Re: Reg:Macro Looping i wnat one obs in that macro</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reg-Macro-Looping-i-wnat-one-obs-in-that-macro/m-p/105907#M22057</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know why would you do this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data l2;
input id $;
cards;
c1
c2
c3
run;

proc sql;
select count(*) into:emailtblcnt from l2;
quit;

%macro emicnt;
%do i=1 %to &amp;amp;emailtblcnt.;
proc sql;
select id into:ids1-:ids&amp;amp;i from l2;
quit;
%let ids=&amp;amp;&amp;amp;ids&amp;amp;i ;
%put &amp;amp;ids;
%end;
%mend;

%emicnt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following is simple enough.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;proc sql;
select id from l2;
select id into:ids1-:ids&amp;amp;sqlobs from l2;
quit;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Aug 2012 04:55:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reg-Macro-Looping-i-wnat-one-obs-in-that-macro/m-p/105907#M22057</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-08-29T04:55:09Z</dc:date>
    </item>
  </channel>
</rss>

