<?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: Calling 2 Macro Variables in Ordered Pairs from 2 Lists in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389524#M93401</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/50108"&gt;@acemanhattan&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;This fixed the error.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Would you then do some sort of Proc Append loop to concatenate the tables?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Save the number of pairs (and therefore the number of datasets) to a macro variable:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data control;
input incurdt groupid :$10.;
call execute('%repeat_my_code(' !! put(_n_,best.) !! ',' !! put(incurdt,best.) !! ',' !! groupid !! ');');
call symput('endno',put(_n_,best.));
cards;
20161229 '10018623'
20170313 '10007253'
20170314 '10013882'
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Then use that in a short macro:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro concat(number);
%do i = 1 %to &amp;amp;number;
  cust_type_lookup_&amp;amp;i.
%end;
%mend;

data cust_type_lookup;
set
%concat(&amp;amp;endno)
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 21 Aug 2017 13:58:21 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2017-08-21T13:58:21Z</dc:date>
    <item>
      <title>Calling 2 Macro Variables in Ordered Pairs from 2 Lists</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389498#M93393</link>
      <description>&lt;P&gt;I have some code that, generally, takes as inputs a date and subscriber number and maps that pairing to a known line of business. I need to be able to enter a list of dates and a list of subscriber numbers and have the code be smart enough to only search by ordered pairs.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Currently, if I enter my inputs as&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%LET IncurDt = 20161229,20170313,20170314;
%LET GroupID = '10018623','10007253','10013882';
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the code will execute, but it looks for each combination of IncurDt &amp;amp; GroupID, which not only creates unneeded observations, but can take hours to execute if I need to enter, say, 20 dates and 20 IDs. &amp;nbsp;I need the code to understand that I want to search in pairs where the pairs are the first element from each list, or the second element from each list, or the third element from each list.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'll paste the whole code below, but I think the other relevant part of the code is this one (which comes at the end of the code).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;     WHERE cdf.dwa_incurd_dt_key in (&amp;amp;IncurDt.) 																		
       and g.primy_grp_id_cd in (&amp;amp;GroupID.) 																		
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Whole code&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/************************************************************************************************/
/*For when the LOB for a large pended claim is “UNK” and you want to know which LOB it really is*/
/************************************************************************************************/



/************ INPUTS ************/

%LET IncurDt = 20161229,20170313,20170314;
%LET GroupID = '10018623','10007253','10013882';



/********** END INPUTS **********/


/*This macro enables the use of each state's LOB_CUST_TYPE macro. It searches through each of the lob_cust_type macros and replaces 
     1. pre. with rre. since we are using the rre. join
     2. bsre. with rre. since we are using the rre. join
     3. i.dwa_incurd_in_force_mo_key with floor(cdf.dwa_incurd_dt_key) since we are using cdf*/
%Macro set(STATE=);
%LET code_dir2 = /sasapps/EarningsAnalysis/&amp;amp;STATE.;
%INCLUDE "&amp;amp;code_dir2/step_00_lob_cust_type.sas";
     %GLOBAL CUST_TYPE_&amp;amp;STATE.;
     %LET CUST_TYPE_&amp;amp;STATE. =
           %SysFunc(TranWrd( 
           %SysFunc(TranWrd( 
           %SysFunc(TranWrd( %lob_cust_type , %Str(pre.) , %Str(rre.) ) )
                                                     , %Str(bsre.) , %Str(rre.) ) ) 
                                                     , %Str(i.dwa_incurd_in_force_mo_key) , %Str(floor(cdf.dwa_incurd_dt_key / 100)) ) );
%mend set;

%set(STATE=WA);
%set(STATE=OR);
%set(STATE=ID);
%set(STATE=UT);


/*Use to look up lob cust type to break out INDD/LCU1/UNK for large pended claims tab*/
PROC SQL;
connect to oracle(authdomain="defaultauth" path=rra_trg_prd preserve_comments);
create table cust_type_lookup as select * from connection to oracle(
     SELECT DISTINCT
             c.clnt_st_cd
           , cdf.dwa_incurd_dt_key   
           , cdf.dwa_incurd_dt_key 
           , g.primy_grp_id_cd
           , g.grp_name
           , g.parnt_grp_id_cd
           , case 
                when c.clnt_st_cd = 'WA' then &amp;amp;CUST_TYPE_WA.
                when c.clnt_st_cd = 'OR' then &amp;amp;CUST_TYPE_OR.
                when c.clnt_st_cd = 'ID' then &amp;amp;CUST_TYPE_ID.
                when c.clnt_st_cd = 'UT' then &amp;amp;CUST_TYPE_UT.
                else 'NA' end as LOB_CUST_TYPE
           , rre.trnsl_cstmr_typ_cd 
           
     FROM  dwa_vw.clm_detl_fact cdf
           join dwa_vw.cli_catz ccz 
                on cdf.dwa_cli_catz_key = ccz.dwa_cli_catz_key
           join dwa_vw.grp_strct g
                on cdf.dwa_grp_strct_key = g.dwa_grp_strct_key
           join dwa_vw.clnt_st c
                on cdf.dwa_clnt_st_key = c.dwa_clnt_st_key
           join dwa_vw.mbr m
                on cdf.dwa_mbr_key = m.dwa_mbr_key
           join dwa_vw.grp_cls_pln gcp
                on cdf.dwa_grp_cls_pln_key = gcp.dwa_grp_cls_pln_key
           left join
                  (select
                    ref.dwa_rptg_elem_fact_key,
                    ref.dwa_grp_cls_pln_key,
                    ref.dwa_prod_cat_key,
                    ref.dwa_rec_eff_dt_key,
                    ref.dwa_rec_cncl_dt_key,
                     bsre.trnsl_cstmr_typ_cd,
                    bsre.trnsl_fincl_arngmt_cd,
                    pre.trnsl_gl_co_chk_stock_id_cd,
                    pre.trnsl_prod_typ_cd,
                    pre.trnsl_ntwk_cd
                from
                    dwa_vw.rptg_elem_fact ref
                    left join dwa_vw.bus_sgmt_rptg_elem bsre
                      on ref.dwa_bus_sgmt_rptg_elem_key = bsre.dwa_bus_sgmt_rptg_elem_key
                    left join dwa_vw.prod_rptg_elem pre
                      on ref.dwa_prod_rptg_elem_key = pre.dwa_prod_rptg_elem_key) rre
                     on cdf.dwa_grp_cls_pln_key = rre.dwa_grp_cls_pln_key
                     and cdf.dwa_prod_cat_key = rre.dwa_prod_cat_key
                     and cdf.dwa_incurd_dt_key between rre.dwa_rec_eff_dt_key and rre.dwa_rec_cncl_dt_key
           
     WHERE cdf.dwa_incurd_dt_key in (&amp;amp;IncurDt.) 
       and g.primy_grp_id_cd in (&amp;amp;GroupID.) 

)
;
QUIT;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Aug 2017 12:35:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389498#M93393</guid>
      <dc:creator>acemanhattan</dc:creator>
      <dc:date>2017-08-21T12:35:14Z</dc:date>
    </item>
    <item>
      <title>Re: Calling 2 Macro Variables in Ordered Pairs from 2 Lists</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389501#M93395</link>
      <description>&lt;P&gt;Wrap your SQL into a macro and call that from a control dataset:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro repeat_my_code(seq,IncurDt,GroupID);
PROC SQL;
connect to oracle(authdomain="defaultauth" path=rra_trg_prd preserve_comments);
create table cust_type_lookup_&amp;amp;seq. as select * from connection to oracle(
     SELECT DISTINCT
             c.clnt_st_cd
           , cdf.dwa_incurd_dt_key   
           , cdf.dwa_incurd_dt_key 
           , g.primy_grp_id_cd
           , g.grp_name
           , g.parnt_grp_id_cd
           , case 
                when c.clnt_st_cd = 'WA' then &amp;amp;CUST_TYPE_WA.
                when c.clnt_st_cd = 'OR' then &amp;amp;CUST_TYPE_OR.
                when c.clnt_st_cd = 'ID' then &amp;amp;CUST_TYPE_ID.
                when c.clnt_st_cd = 'UT' then &amp;amp;CUST_TYPE_UT.
                else 'NA' end as LOB_CUST_TYPE
           , rre.trnsl_cstmr_typ_cd 
           
     FROM  dwa_vw.clm_detl_fact cdf
           join dwa_vw.cli_catz ccz 
                on cdf.dwa_cli_catz_key = ccz.dwa_cli_catz_key
           join dwa_vw.grp_strct g
                on cdf.dwa_grp_strct_key = g.dwa_grp_strct_key
           join dwa_vw.clnt_st c
                on cdf.dwa_clnt_st_key = c.dwa_clnt_st_key
           join dwa_vw.mbr m
                on cdf.dwa_mbr_key = m.dwa_mbr_key
           join dwa_vw.grp_cls_pln gcp
                on cdf.dwa_grp_cls_pln_key = gcp.dwa_grp_cls_pln_key
           left join
                  (select
                    ref.dwa_rptg_elem_fact_key,
                    ref.dwa_grp_cls_pln_key,
                    ref.dwa_prod_cat_key,
                    ref.dwa_rec_eff_dt_key,
                    ref.dwa_rec_cncl_dt_key,
                     bsre.trnsl_cstmr_typ_cd,
                    bsre.trnsl_fincl_arngmt_cd,
                    pre.trnsl_gl_co_chk_stock_id_cd,
                    pre.trnsl_prod_typ_cd,
                    pre.trnsl_ntwk_cd
                from
                    dwa_vw.rptg_elem_fact ref
                    left join dwa_vw.bus_sgmt_rptg_elem bsre
                      on ref.dwa_bus_sgmt_rptg_elem_key = bsre.dwa_bus_sgmt_rptg_elem_key
                    left join dwa_vw.prod_rptg_elem pre
                      on ref.dwa_prod_rptg_elem_key = pre.dwa_prod_rptg_elem_key) rre
                     on cdf.dwa_grp_cls_pln_key = rre.dwa_grp_cls_pln_key
                     and cdf.dwa_prod_cat_key = rre.dwa_prod_cat_key
                     and cdf.dwa_incurd_dt_key between rre.dwa_rec_eff_dt_key and rre.dwa_rec_cncl_dt_key
           
     WHERE cdf.dwa_incurd_dt_key = &amp;amp;IncurDt.
       and g.primy_grp_id_cd = "&amp;amp;GroupID." 

)
;
QUIT;
%mend;

data control;
input incurdt groupid $;
call execute('%repeat_my_code(' !! put(_n_,best.) !! ',' !! put(incurdt,best.) !! ',' !! groupid !! ');');
cards;
20161229 10018623
20170313 10007253
20170314 10013882
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Once finished, you can concatenate the resulting datasets into one.&lt;/P&gt;</description>
      <pubDate>Mon, 21 Aug 2017 12:48:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389501#M93395</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-08-21T12:48:09Z</dc:date>
    </item>
    <item>
      <title>Re: Calling 2 Macro Variables in Ordered Pairs from 2 Lists</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389506#M93396</link>
      <description>&lt;P&gt;Thanks for the quick response,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm getting the following error for each of the group IDs&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ERROR: ORACLE prepare error: ORA-00904: "10018623": invalid identifier.&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does this have something to do with single vs double quotes?&lt;/P&gt;</description>
      <pubDate>Mon, 21 Aug 2017 13:04:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389506#M93396</guid>
      <dc:creator>acemanhattan</dc:creator>
      <dc:date>2017-08-21T13:04:07Z</dc:date>
    </item>
    <item>
      <title>Re: Calling 2 Macro Variables in Ordered Pairs from 2 Lists</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389513#M93398</link>
      <description>&lt;P&gt;It might be an option to write your input values for IncurDt and GroupID to a SAS dataset, and then join that table on in your query.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My first thought was it sounds like you want to build a WHERE clause like:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;where
  (cdf.dwa_incurd_dt_key in (20161229) and g.primy_grp_id_cd in('10018623') ) 
  or (cdf.dwa_incurd_dt_key in (20170313) and g.primy_grp_id_cd in('10007253') ) 
  or (cdf.dwa_incurd_dt_key in (20170314) and g.primy_grp_id_cd in('10013882') )
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is that right?&amp;nbsp; If so, you can write a little macro that would generate that clause from the two lists, e.g.:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let IncurDt = 20161229 20170313 20170314;
%let GroupID = '10018623' '10007253' '10013882';

%macro mkWhere(IncurDt=,GroupID=);
  %local i whereCl;

  %do i=1 %to %sysfunc(countw(&amp;amp;IncurDt));
    %if &amp;amp;i&amp;gt;1 %then %let WhereCl=&amp;amp;WhereCl or ;
    %let WhereCl=&amp;amp;WhereCl (cdf.dwa_incurd_dt_key in (%scan(&amp;amp;IncurDt,&amp;amp;i)) and g.primy_grp_id_cd in(%scan(&amp;amp;GroupID,&amp;amp;i)) ) ;
  %end;

  &amp;amp;WhereCl

%mend mkWhere;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Test Like:&lt;/P&gt;
&lt;PRE&gt;126  %put %mkWhere(IncurDt=&amp;amp;IncurDt,GroupID=&amp;amp;GroupID) ;

(cdf.dwa_incurd_dt_key in (20161229) and g.primy_grp_id_cd in('10018623') ) or
(cdf.dwa_incurd_dt_key in (20170313) and g.primy_grp_id_cd in('10007253') ) or
(cdf.dwa_incurd_dt_key in (20170314) and g.primy_grp_id_cd in('10013882') )
&lt;/PRE&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;
&lt;P&gt;Call like:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
  select ... 
  from ...
  where
    %mkWhere(IncurDt=&amp;amp;IncurDt,GroupID=&amp;amp;GroupID)
  ;
quit&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note I removed the commas from the lists, just to avoid the need for macro quoting.&lt;/P&gt;</description>
      <pubDate>Mon, 21 Aug 2017 13:20:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389513#M93398</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2017-08-21T13:20:09Z</dc:date>
    </item>
    <item>
      <title>Re: Calling 2 Macro Variables in Ordered Pairs from 2 Lists</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389515#M93399</link>
      <description>&lt;P&gt;It might be that Oracle is picky about single vs. double quotes when declaring string literals. I do not have experience with Oracle, only SAS.&lt;/P&gt;
&lt;P&gt;Try this:&lt;/P&gt;
&lt;P&gt;- change the where condition:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;     WHERE cdf.dwa_incurd_dt_key = &amp;amp;IncurDt.
       and g.primy_grp_id_cd = &amp;amp;GroupID. 
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;- and the control data step:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data control;
input incurdt groupid :$10.;
call execute('%repeat_my_code(' !! put(_n_,best.) !! ',' !! put(incurdt,best.) !! ',' !! groupid !! ');');
cards;
20161229 '10018623'
20170313 '10007253'
20170314 '10013882'
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 21 Aug 2017 13:29:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389515#M93399</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-08-21T13:29:18Z</dc:date>
    </item>
    <item>
      <title>Re: Calling 2 Macro Variables in Ordered Pairs from 2 Lists</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389521#M93400</link>
      <description>&lt;P&gt;This fixed the error.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Would you then do some sort of Proc Append loop to concatenate the tables?&lt;/P&gt;</description>
      <pubDate>Mon, 21 Aug 2017 13:46:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389521#M93400</guid>
      <dc:creator>acemanhattan</dc:creator>
      <dc:date>2017-08-21T13:46:59Z</dc:date>
    </item>
    <item>
      <title>Re: Calling 2 Macro Variables in Ordered Pairs from 2 Lists</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389524#M93401</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/50108"&gt;@acemanhattan&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;This fixed the error.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Would you then do some sort of Proc Append loop to concatenate the tables?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Save the number of pairs (and therefore the number of datasets) to a macro variable:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data control;
input incurdt groupid :$10.;
call execute('%repeat_my_code(' !! put(_n_,best.) !! ',' !! put(incurdt,best.) !! ',' !! groupid !! ');');
call symput('endno',put(_n_,best.));
cards;
20161229 '10018623'
20170313 '10007253'
20170314 '10013882'
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Then use that in a short macro:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro concat(number);
%do i = 1 %to &amp;amp;number;
  cust_type_lookup_&amp;amp;i.
%end;
%mend;

data cust_type_lookup;
set
%concat(&amp;amp;endno)
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 21 Aug 2017 13:58:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389524#M93401</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-08-21T13:58:21Z</dc:date>
    </item>
    <item>
      <title>Re: Calling 2 Macro Variables in Ordered Pairs from 2 Lists</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389526#M93402</link>
      <description>Not sure the appropriate way to mark as solution when the solution is spread across a few posts, but this worked great.  Turned a 2 hour query into a 12 second query. Thanks.</description>
      <pubDate>Mon, 21 Aug 2017 14:04:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389526#M93402</guid>
      <dc:creator>acemanhattan</dc:creator>
      <dc:date>2017-08-21T14:04:33Z</dc:date>
    </item>
    <item>
      <title>Re: Calling 2 Macro Variables in Ordered Pairs from 2 Lists</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389561#M93406</link>
      <description>&lt;P&gt;I agree with Kurt Bremser about rotating your horizontal lists to vertical (data set rows).&lt;/P&gt;&lt;P&gt;I wonder if you can extract your pairs into a data set with proc sql?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Art Carpenter and I wrote a paper about List Processing, a while back.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sascommunity.org/wiki/List_Processing_Basics_Creating_and_Using_Lists_of_Macro_Variables" target="_blank"&gt;http://www.sascommunity.org/wiki/List_Processing_Basics_Creating_and_Using_Lists_of_Macro_Variables&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is a generic tool to read a list and call a macro&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sascommunity.org/wiki/Macro_CallMacr" target="_blank"&gt;http://www.sascommunity.org/wiki/Macro_CallMacr&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ron Fehd&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Aug 2017 15:45:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-2-Macro-Variables-in-Ordered-Pairs-from-2-Lists/m-p/389561#M93406</guid>
      <dc:creator>Ron_MacroMaven</dc:creator>
      <dc:date>2017-08-21T15:45:36Z</dc:date>
    </item>
  </channel>
</rss>

