<?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: How to create loop or macro inside pass through query? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607114#M176389</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/301162"&gt;@Alathuythu&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm new with sas. Can someone to help me with this simple script looping or macro?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;connect using oracle;&amp;nbsp;&lt;BR /&gt;create table&amp;nbsp;&amp;nbsp;temp_oracle as&lt;BR /&gt;select * from connection to oracle&lt;BR /&gt;(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from table a&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&amp;nbsp;variable in(&amp;amp;split1.)&lt;BR /&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; or variable in(&amp;amp;split2.)&lt;BR /&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; or variable&amp;nbsp;in(&amp;amp;split3.)&lt;BR /&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; or variable in(&amp;amp;split4.)&lt;BR /&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; or variable in(&amp;amp;split5.)&lt;BR /&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; or variable in(&amp;amp;split6.) ….&lt;BR /&gt;)&lt;/P&gt;
&lt;P&gt;;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Your code currently does not define (or use) any macros.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It is referencing 6 macro variables. But you did not show how you are defining those macro variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is it you need help with?&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 25 Nov 2019 20:34:55 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2019-11-25T20:34:55Z</dc:date>
    <item>
      <title>How to create loop or macro inside pass through query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607082#M176369</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm new with sas. Can someone to help me with this simple script looping or macro?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;connect using oracle;&amp;nbsp;&lt;BR /&gt;create table&amp;nbsp;&amp;nbsp;temp_oracle as&lt;BR /&gt;select * from connection to oracle&lt;BR /&gt;(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from table a&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&amp;nbsp;variable in(&amp;amp;split1.)&lt;BR /&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; or variable in(&amp;amp;split2.)&lt;BR /&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; or variable&amp;nbsp;in(&amp;amp;split3.)&lt;BR /&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; or variable in(&amp;amp;split4.)&lt;BR /&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; or variable in(&amp;amp;split5.)&lt;BR /&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; or variable in(&amp;amp;split6.) ….&lt;BR /&gt;)&lt;/P&gt;&lt;P&gt;;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Nov 2019 18:48:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607082#M176369</guid>
      <dc:creator>Alathuythu</dc:creator>
      <dc:date>2019-11-25T18:48:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to create loop or macro inside pass through query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607083#M176370</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Need more information on how many time you need this loop and on what basis. You probably can create that condition using a dataset or write a logic to put the whole condition as a macro and call it in pass-through.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Loop to be outside the pass-through.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let condition=variable in(&amp;amp;split1.)
                     or variable in(&amp;amp;split2.)
                     or variable in(&amp;amp;split3.)
                     or variable in(&amp;amp;split4.)
                     or variable in(&amp;amp;split5.)
                     or variable in(&amp;amp;split6.) ;

proc sql;
connect using oracle; 
create table  temp_oracle as
select * from connection to oracle
(
     select * from table a

          where &amp;amp;condition
)

;quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Provide more information so to create a logic for creating the condition.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Nov 2019 18:55:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607083#M176370</guid>
      <dc:creator>SuryaKiran</dc:creator>
      <dc:date>2019-11-25T18:55:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to create loop or macro inside pass through query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607084#M176371</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/301162"&gt;@Alathuythu&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do you want to loop through the "WHERE" clause as follows?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* First iteration */
proc sql;
connect using oracle; 
create table  temp_oracle as
select * from connection to oracle
(
     select * from table a where variable in (&amp;amp;split1.)
)
;quit;

/* Second iteration */
proc sql;
connect using oracle; 
create table  temp_oracle as
select * from connection to oracle
(
     select * from table a where variable in (&amp;amp;split2.)
)
;quit;

/* etc. */
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 25 Nov 2019 18:55:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607084#M176371</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2019-11-25T18:55:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to create loop or macro inside pass through query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607113#M176388</link>
      <description>&lt;P&gt;I take it you want to reduce the typing to get this repetitive code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;variable in(&amp;amp;split1.)
                     or variable in(&amp;amp;split2.)
                     or variable in(&amp;amp;split3.)
                     or variable in(&amp;amp;split4.)
                     or variable in(&amp;amp;split5.)
                     or variable in(&amp;amp;split6.) ….&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Here's a macro that generates the code for you:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro splits (n_splits);
   %local k;
   %do k = 1 %to &amp;amp;n_splits;
      variable in (&amp;amp;&amp;amp;split&amp;amp;k)
      %if &amp;amp;k &amp;lt; &amp;amp;n_splits %then or;
   %end;
%mend splits;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You would use that macro to replace all the typing:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;(
     select * from table a

          where %splits (6)

)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Use whatever number is appropriate in parentheses, it doesn't have to be 6.&lt;/P&gt;</description>
      <pubDate>Mon, 25 Nov 2019 20:32:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607113#M176388</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2019-11-25T20:32:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to create loop or macro inside pass through query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607114#M176389</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/301162"&gt;@Alathuythu&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm new with sas. Can someone to help me with this simple script looping or macro?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;connect using oracle;&amp;nbsp;&lt;BR /&gt;create table&amp;nbsp;&amp;nbsp;temp_oracle as&lt;BR /&gt;select * from connection to oracle&lt;BR /&gt;(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from table a&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&amp;nbsp;variable in(&amp;amp;split1.)&lt;BR /&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; or variable in(&amp;amp;split2.)&lt;BR /&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; or variable&amp;nbsp;in(&amp;amp;split3.)&lt;BR /&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; or variable in(&amp;amp;split4.)&lt;BR /&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; or variable in(&amp;amp;split5.)&lt;BR /&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; or variable in(&amp;amp;split6.) ….&lt;BR /&gt;)&lt;/P&gt;
&lt;P&gt;;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Your code currently does not define (or use) any macros.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It is referencing 6 macro variables. But you did not show how you are defining those macro variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is it you need help with?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Nov 2019 20:34:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607114#M176389</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2019-11-25T20:34:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to create loop or macro inside pass through query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607191#M176432</link>
      <description>This is work perfectly. Thank you very much!</description>
      <pubDate>Tue, 26 Nov 2019 04:14:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-create-loop-or-macro-inside-pass-through-query/m-p/607191#M176432</guid>
      <dc:creator>Alathuythu</dc:creator>
      <dc:date>2019-11-26T04:14:33Z</dc:date>
    </item>
  </channel>
</rss>

