<?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: Repetitive Macro Question in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209921#M38920</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Tommywhosc. That helped!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 24 Jul 2015 14:47:04 GMT</pubDate>
    <dc:creator>sasmaverick</dc:creator>
    <dc:date>2015-07-24T14:47:04Z</dc:date>
    <item>
      <title>Repetitive Macro Question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209918#M38917</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have the following Macro:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Sort by Match Var 4 */&lt;/P&gt;&lt;P&gt;%macro sort(file);&lt;/P&gt;&lt;P&gt;proc sort data=&amp;amp;FILE nodupkey;&lt;/P&gt;&lt;P&gt;by Match_Var_4;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%mend sort;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;%sort(FILE1_2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;%sort(FILE2_2);&lt;/P&gt;&lt;P&gt;%sort(FILE3_2);&lt;/P&gt;&lt;P&gt;%sort(FILE4_2);&lt;/P&gt;&lt;P&gt;%sort(FILE5_2);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*Merge by Match Var 4*/&lt;/P&gt;&lt;P&gt;%macro merge(fnum1,fnum2,file1,file2);&lt;/P&gt;&lt;P&gt;data Name_State_&amp;amp;FNUM1._&amp;amp;FNUM2.;&lt;/P&gt;&lt;P&gt;merge &amp;amp;FILE1.(in=ina) &amp;amp;FILE2.(in=inb);&lt;/P&gt;&lt;P&gt;by Match_Var_4;&lt;/P&gt;&lt;P&gt;if ina and inb then Name_State_Flag_&amp;amp;FNUM1._&amp;amp;FNUM2.=1;&lt;/P&gt;&lt;P&gt;else Name_State_Flag_&amp;amp;FNUM1._&amp;amp;FNUM2.=0;&lt;/P&gt;&lt;P&gt;if Name_State_Flag_&amp;amp;FNUM1._&amp;amp;FNUM2.=1;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%mend merge;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%merge(1,2,FILE1_2,FILE2_2);&lt;/P&gt;&lt;P&gt;%merge(2,3,FILE2_2,FILE3_2);&lt;/P&gt;&lt;P&gt;%merge(3,4,FILE3_2,FILE4_2);&lt;/P&gt;&lt;P&gt;%merge(4,5,FILE4_2,FILE5_2);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My issue with the above is that even though I have used macro, I still need to repeat the above steps lot of times. Eg. In the first step, I need to sort by Match_Var_1 and create the dataset &lt;SPAN style="font-size: 13.3333330154419px;"&gt; Name_City_&amp;amp;FNUM1._&amp;amp;FNUM2. (second step). Then sort by &lt;SPAN style="font-size: 13.3333330154419px;"&gt;Match_Var_2 and &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt;create the dataset &lt;/SPAN&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt; Name_Address_&amp;amp;FNUM1._&amp;amp;FNUM2 and so on. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt;What approach can I use? Thanks for the help&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jul 2015 12:13:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209918#M38917</guid>
      <dc:creator>sasmaverick</dc:creator>
      <dc:date>2015-07-23T12:13:03Z</dc:date>
    </item>
    <item>
      <title>Re: Repetitive Macro Question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209919#M38918</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One approach.. wrap all the coding in one macro, using %DO loops to handle the sorting, merging:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro doit(DSN,MV);&lt;BR /&gt;%do I = 1 %to 5;&lt;BR /&gt; PROC SORT DATA=FILE&amp;amp;I._2 nodupkey; by MATCH_VAR_&amp;amp;MV; run;&lt;BR /&gt;%end;&lt;/P&gt;&lt;P&gt;%do J = 1 %to 4;&lt;BR /&gt; %let K = %eval(&amp;amp;j + 1);&lt;BR /&gt; DATA &amp;amp;DSN&amp;amp;j._&amp;amp;k ;&lt;BR /&gt; MERGE&amp;nbsp; FILE&amp;amp;J._2(in=a)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; FILE&amp;amp;K._2(in=b);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; by MATCH_VAR_&amp;amp;MV;&lt;BR /&gt; IF a &amp;amp; b;&lt;/P&gt;&lt;P&gt;&amp;amp;DSN&amp;amp;j._&amp;amp;k = 1;&lt;BR /&gt; run;&lt;BR /&gt;%end;&lt;/P&gt;&lt;P&gt;%mend DOIT;&lt;BR /&gt;%DOIT(NAME_CITY_,1)&lt;BR /&gt;%DOIT(NAME_ADDRESS_,2)&amp;nbsp; etc...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This (untested) code should get you started.&lt;/P&gt;&lt;P&gt;A concern: Are you sure you want to NODUPKEY on those data sets, 4 times? That is, might you lose some obs on dup'd MATCH_VAR_1 that you'll want when you sort, merge on MATCH_VAR_2?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jul 2015 16:07:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209919#M38918</guid>
      <dc:creator>Tommywhosc</dc:creator>
      <dc:date>2015-07-23T16:07:56Z</dc:date>
    </item>
    <item>
      <title>Re: Repetitive Macro Question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209920#M38919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can merge more than one file at a time, any reason to not do so?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jul 2015 16:44:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209920#M38919</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2015-07-23T16:44:24Z</dc:date>
    </item>
    <item>
      <title>Re: Repetitive Macro Question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209921#M38920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Tommywhosc. That helped!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jul 2015 14:47:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209921#M38920</guid>
      <dc:creator>sasmaverick</dc:creator>
      <dc:date>2015-07-24T14:47:04Z</dc:date>
    </item>
    <item>
      <title>Re: Repetitive Macro Question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209922#M38921</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Reeza,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The BY variable is different for the datasets. So, cannot merge all at once.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jul 2015 14:49:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repetitive-Macro-Question/m-p/209922#M38921</guid>
      <dc:creator>sasmaverick</dc:creator>
      <dc:date>2015-07-24T14:49:15Z</dc:date>
    </item>
  </channel>
</rss>

