<?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: join two tables with two dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399614#M96807</link>
    <description>&lt;P&gt;That worked!!! Can you please explain me this&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;intnx('month',a.date,0,'B') = intnx('month',b.date,0,'B')&lt;/PRE&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 28 Sep 2017 20:08:59 GMT</pubDate>
    <dc:creator>K1235</dc:creator>
    <dc:date>2017-09-28T20:08:59Z</dc:date>
    <item>
      <title>join two tables with two dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399575#M96793</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have two dataset and in each there are two diff dates, one which reports end of the month and other end of the business week&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data a: ( reports end of the month date)&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Val&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/31/2012&lt;/TD&gt;&lt;TD&gt;-0.47&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2/29/2012&lt;/TD&gt;&lt;TD&gt;0.73&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3/31/2012&lt;/TD&gt;&lt;TD&gt;-0.948&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/30/2012&lt;/TD&gt;&lt;TD&gt;-0.74&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5/31/2012&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6/30/2012&lt;/TD&gt;&lt;TD&gt;-4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7/31/2012&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8/31/2012&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;9/30/2012&lt;/TD&gt;&lt;TD&gt;-0.7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10/31/2012&lt;/TD&gt;&lt;TD&gt;-1.063&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;11/30/2012&lt;/TD&gt;&lt;TD&gt;1.46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;12/31/2012&lt;/TD&gt;&lt;TD&gt;3.3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data b: ( reports end of the month during closing of the business week day.. no weekends)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;closing&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/31/2012&lt;/TD&gt;&lt;TD&gt;9.52&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2/29/2012&lt;/TD&gt;&lt;TD&gt;9.59&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3/30/2012&lt;/TD&gt;&lt;TD&gt;9.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/30/2012&lt;/TD&gt;&lt;TD&gt;9.43&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5/31/2012&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6/29/2012&lt;/TD&gt;&lt;TD&gt;9.56&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7/31/2012&lt;/TD&gt;&lt;TD&gt;9.77&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8/31/2012&lt;/TD&gt;&lt;TD&gt;9.57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;9/28/2012&lt;/TD&gt;&lt;TD&gt;9.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10/31/2012&lt;/TD&gt;&lt;TD&gt;9.4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;11/30/2012&lt;/TD&gt;&lt;TD&gt;9.54&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;12/31/2012&lt;/TD&gt;&lt;TD&gt;9.78&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;with the current code, when I join the two dataset I get:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data sample;
    Merge a (in=x) b (in=z);
    by id date;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Val&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/31/2012&lt;/TD&gt;&lt;TD&gt;9.52&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2/29/2012&lt;/TD&gt;&lt;TD&gt;9.59&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3/30/2012&lt;/TD&gt;&lt;TD&gt;9.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3/31/2012&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/30/2012&lt;/TD&gt;&lt;TD&gt;9.43&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5/31/2012&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6/29/2012&lt;/TD&gt;&lt;TD&gt;9.56&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6/30/2012&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7/31/2012&lt;/TD&gt;&lt;TD&gt;9.77&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8/31/2012&lt;/TD&gt;&lt;TD&gt;9.57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;9/28/2012&lt;/TD&gt;&lt;TD&gt;9.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;9/30/2012&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10/31/2012&lt;/TD&gt;&lt;TD&gt;9.4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;11/30/2012&lt;/TD&gt;&lt;TD&gt;9.54&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;12/31/2012&lt;/TD&gt;&lt;TD&gt;9.78&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;But what I want is:&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Val&lt;/TD&gt;&lt;TD&gt;closing&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/01&lt;/TD&gt;&lt;TD&gt;-0.47&lt;/TD&gt;&lt;TD&gt;9.52&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/02&lt;/TD&gt;&lt;TD&gt;0.73&lt;/TD&gt;&lt;TD&gt;9.59&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/03&lt;/TD&gt;&lt;TD&gt;-0.948&lt;/TD&gt;&lt;TD&gt;9.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/04&lt;/TD&gt;&lt;TD&gt;-0.74&lt;/TD&gt;&lt;TD&gt;9.43&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/05&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/06&lt;/TD&gt;&lt;TD&gt;-4&lt;/TD&gt;&lt;TD&gt;9.56&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/07&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;9.77&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/08&lt;/TD&gt;&lt;TD&gt;-2&lt;/TD&gt;&lt;TD&gt;9.57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/09&lt;/TD&gt;&lt;TD&gt;-0.7&lt;/TD&gt;&lt;TD&gt;9.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/10&lt;/TD&gt;&lt;TD&gt;-1.063&lt;/TD&gt;&lt;TD&gt;9.4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/11&lt;/TD&gt;&lt;TD&gt;1.46&lt;/TD&gt;&lt;TD&gt;9.54&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2012/12&lt;/TD&gt;&lt;TD&gt;3.3&lt;/TD&gt;&lt;TD&gt;9.78&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2017 18:12:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399575#M96793</guid>
      <dc:creator>K1235</dc:creator>
      <dc:date>2017-09-28T18:12:53Z</dc:date>
    </item>
    <item>
      <title>Re: join two tables with two dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399598#M96802</link>
      <description>&lt;P&gt;It appears that your rule is to match the two sets where Month and Year align.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I may be better to use an SQL join than a data step merge since the values aren't always equal.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data a;
input id date mmddyy10. val;
format date mmddyy10.;
datalines;
1 1/31/2012 -0.47 
1 2/29/2012 0.73 
1 3/31/2012 -0.948 
1 4/30/2012 -0.74 
1 5/31/2012 6 
1 6/30/2012 -4 
1 7/31/2012 2 
1 8/31/2012 -2 
1 9/30/2012 -0.7 
1 10/31/2012 -1.063 
1 11/30/2012 1.46 
1 12/31/2012 3.3 
;
run;
 

data b;
input id date mmddyy10. closing;
format date mmddyy10.;
datalines;
1 1/31/2012 9.52 
1 2/29/2012 9.59 
1 3/30/2012 9.5 
1 4/30/2012 9.43 
1 5/31/2012 10 
1 6/29/2012 9.56 
1 7/31/2012 9.77 
1 8/31/2012 9.57 
1 9/28/2012 9.5 
1 10/31/2012 9.4 
1 11/30/2012 9.54 
1 12/31/2012 9.78 
;
run;

proc sql; 
   create table want as
   select a.id,a.date ,a.val, b.closing
   from a left join b 
      on
       a.id = b.id and
       intnx('month',a.date,0,'B') = intnx('month',b.date,0,'B')
   ;
quit;
&lt;/PRE&gt;</description>
      <pubDate>Thu, 28 Sep 2017 19:32:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399598#M96802</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-09-28T19:32:22Z</dc:date>
    </item>
    <item>
      <title>Re: join two tables with two dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399614#M96807</link>
      <description>&lt;P&gt;That worked!!! Can you please explain me this&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;intnx('month',a.date,0,'B') = intnx('month',b.date,0,'B')&lt;/PRE&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2017 20:08:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399614#M96807</guid>
      <dc:creator>K1235</dc:creator>
      <dc:date>2017-09-28T20:08:59Z</dc:date>
    </item>
    <item>
      <title>Re: join two tables with two dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399819#M96857</link>
      <description>&lt;P&gt;You need GROUPFORMAT option.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a;
input id date mmddyy10. val;
format date mmddyy10.;
datalines;
1 1/31/2012 -0.47 
1 2/29/2012 0.73 
1 3/31/2012 -0.948 
1 4/30/2012 -0.74 
1 5/31/2012 6 
1 6/30/2012 -4 
1 7/31/2012 2 
1 8/31/2012 -2 
1 9/30/2012 -0.7 
1 10/31/2012 -1.063 
1 11/30/2012 1.46 
1 12/31/2012 3.3 
;
run;
 

data b;
input id date mmddyy10. closing;
format date mmddyy10.;
datalines;
1 1/31/2012 9.52 
1 2/29/2012 9.59 
1 3/30/2012 9.5 
1 4/30/2012 9.43 
1 5/31/2012 10 
1 6/29/2012 9.56 
1 7/31/2012 9.77 
1 8/31/2012 9.57 
1 9/28/2012 9.5 
1 10/31/2012 9.4 
1 11/30/2012 9.54 
1 12/31/2012 9.78 
;
run;
Data sample;
    Merge a (in=x) b (in=z);
    by id date groupformat;
	format date monyy7.;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 29 Sep 2017 15:02:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399819#M96857</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-09-29T15:02:59Z</dc:date>
    </item>
    <item>
      <title>Re: join two tables with two dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399823#M96859</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;. Need to add one more filter to this.. I am getting historical data and need only 5 years of data. So from This month - 5 years. How would I use INTNX function?&lt;/P&gt;</description>
      <pubDate>Fri, 29 Sep 2017 15:08:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399823#M96859</guid>
      <dc:creator>K1235</dc:creator>
      <dc:date>2017-09-29T15:08:26Z</dc:date>
    </item>
    <item>
      <title>Re: join two tables with two dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399826#M96860</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let start=%sysfunc(intnx(month,%sysfunc(today()),-60));
%put &amp;amp;start;

...........
if date &amp;gt; &amp;amp;start ;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 29 Sep 2017 15:18:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/join-two-tables-with-two-dates/m-p/399826#M96860</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-09-29T15:18:30Z</dc:date>
    </item>
  </channel>
</rss>

