<?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: Date Merge in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667377#M199836</link>
    <description>&lt;P&gt;A slight change to your code, so that id is set correctly for the "received" that do not have a matching order:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want1 as
  select distinct
    coalesce(a.id,b.id) as id,
    a.order,
    b.received
  from aa a full join bb b
  on a.id = b.id and order &amp;lt;= received
    and ((received - order) &amp;lt;= 90 or missing((received - order)))
  group by calculated id, order
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 07 Jul 2020 08:15:13 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2020-07-07T08:15:13Z</dc:date>
    <item>
      <title>Date Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667311#M199785</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;I am trying to merge dates by the closest day. I just need help tweaking the code a little bit. I tried to look around but could not find a way to accomplish what i need. Any help is appreciated!&lt;/P&gt;
&lt;P&gt;Here are the two datasets:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data aa;&lt;BR /&gt;input id order MMDDYY10.;&lt;BR /&gt;format order MMDDYY10.;&lt;BR /&gt;cards;&lt;BR /&gt;1 7/16/2016&lt;BR /&gt;1 10/2/2017&lt;BR /&gt;2 7/17/2016&lt;BR /&gt;3 7/18/2016&lt;BR /&gt;4 12/15/2018&lt;BR /&gt;4 1/19/2016&lt;BR /&gt;5 2/21/2017&lt;BR /&gt;5 5/19/2018&lt;BR /&gt;5 8/24/2018&lt;BR /&gt;6 10/2/2016&lt;BR /&gt;6 3/10/2018&lt;BR /&gt;7 5/9/2018&lt;BR /&gt;;&lt;/P&gt;
&lt;P&gt;data bb;&lt;BR /&gt;input id received MMDDYY10.;&lt;BR /&gt;format received MMDDYY10.;&lt;BR /&gt;cards;&lt;BR /&gt;1 07/26/2016&lt;BR /&gt;1 10/22/2017&lt;BR /&gt;2 8/1/2016&lt;BR /&gt;3 8/3/2016&lt;BR /&gt;3 8/3/2016&lt;BR /&gt;4 1/6/2019&lt;BR /&gt;5 9/8/2018&lt;BR /&gt;6 3/25/2018&lt;BR /&gt;7 5/10/2018&lt;BR /&gt;7 10/10/2019&lt;BR /&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data want&lt;/P&gt;
&lt;TABLE width="275"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;ID&lt;/TD&gt;
&lt;TD width="91"&gt;Order&lt;/TD&gt;
&lt;TD width="100"&gt;Received&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;1&lt;/TD&gt;
&lt;TD width="91"&gt;7/16/2016&lt;/TD&gt;
&lt;TD width="100"&gt;7/26/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;1&lt;/TD&gt;
&lt;TD width="91"&gt;10/2/2017&lt;/TD&gt;
&lt;TD width="100"&gt;10/22/2017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;2&lt;/TD&gt;
&lt;TD width="91"&gt;7/17/2016&lt;/TD&gt;
&lt;TD width="100"&gt;8/1/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;3&lt;/TD&gt;
&lt;TD width="91"&gt;7/18/2016&lt;/TD&gt;
&lt;TD width="100"&gt;8/3/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;4&lt;/TD&gt;
&lt;TD&gt;12/15/2018&lt;/TD&gt;
&lt;TD&gt;1/6/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;4&lt;/TD&gt;
&lt;TD&gt;1/19/2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;5&lt;/TD&gt;
&lt;TD&gt;2/21/2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;5&lt;/TD&gt;
&lt;TD&gt;5/19/2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;5&lt;/TD&gt;
&lt;TD&gt;8/24/2018&lt;/TD&gt;
&lt;TD&gt;9/8/2018&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;6&lt;/TD&gt;
&lt;TD&gt;10/2/2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;6&lt;/TD&gt;
&lt;TD&gt;3/10/2018&lt;/TD&gt;
&lt;TD&gt;3/25/2018&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;7&lt;/TD&gt;
&lt;TD&gt;5/9/2018&lt;/TD&gt;
&lt;TD&gt;5/10/2018&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="84"&gt;7&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;10/10/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is my code:&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;create table want as&lt;BR /&gt;select distinct a.*,b.received&lt;BR /&gt;from aa a left join bb b&lt;BR /&gt;on a.id=b.id and order&amp;lt;=received&lt;BR /&gt;group by a.id,order;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I am missing the "having" keyword after "group by". Or would this be easier in data step?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Jul 2020 22:48:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667311#M199785</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-07-06T22:48:42Z</dc:date>
    </item>
    <item>
      <title>Re: Date Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667314#M199787</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select distinct a.*,b.received
from aa a left join bb b
on a.id=b.id and order&amp;lt;=received
and (received-order) &amp;lt;= &amp;lt;threshold_value_in_days&amp;gt;
group by a.id,order;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 06 Jul 2020 23:02:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667314#M199787</guid>
      <dc:creator>smantha</dc:creator>
      <dc:date>2020-07-06T23:02:40Z</dc:date>
    </item>
    <item>
      <title>Re: Date Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667315#M199788</link>
      <description>This works but the missing order for ID#7 does not show in the output dataset.</description>
      <pubDate>Mon, 06 Jul 2020 23:27:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667315#M199788</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-07-06T23:27:25Z</dc:date>
    </item>
    <item>
      <title>Re: Date Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667316#M199789</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select distinct a.*,b.received
from aa a left join bb b
on a.id=b.id and order&amp;lt;=received
and ( (received-order) &amp;lt;= &amp;lt;threshold_value_in_days&amp;gt; or missing(order))
group by a.id,order;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 06 Jul 2020 23:41:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667316#M199789</guid>
      <dc:creator>smantha</dc:creator>
      <dc:date>2020-07-06T23:41:47Z</dc:date>
    </item>
    <item>
      <title>Re: Date Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667317#M199790</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select distinct a.*,b.received
from aa a full join bb b
on a.id=b.id and order&amp;lt;=received
and ((received-order) &amp;lt;= &amp;lt;threshold_value_in_days&amp;gt; or missing((received-order)))
group by a.id,order;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 06 Jul 2020 23:44:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667317#M199790</guid>
      <dc:creator>smantha</dc:creator>
      <dc:date>2020-07-06T23:44:19Z</dc:date>
    </item>
    <item>
      <title>Re: Date Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667377#M199836</link>
      <description>&lt;P&gt;A slight change to your code, so that id is set correctly for the "received" that do not have a matching order:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want1 as
  select distinct
    coalesce(a.id,b.id) as id,
    a.order,
    b.received
  from aa a full join bb b
  on a.id = b.id and order &amp;lt;= received
    and ((received - order) &amp;lt;= 90 or missing((received - order)))
  group by calculated id, order
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 07 Jul 2020 08:15:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667377#M199836</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-07-07T08:15:13Z</dc:date>
    </item>
    <item>
      <title>Re: Date Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667480#M199883</link>
      <description>This is great! Just as a thought if there was a way not to use the threshold value in days...</description>
      <pubDate>Tue, 07 Jul 2020 15:35:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667480#M199883</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-07-07T15:35:14Z</dc:date>
    </item>
    <item>
      <title>Re: Date Merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667506#M199897</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/331278"&gt;@rajd1&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;This is great! Just as a thought if there was a way not to use the threshold value in days...&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You can use the INTCK function to computee the distance in time.&lt;/P&gt;</description>
      <pubDate>Tue, 07 Jul 2020 16:48:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Date-Merge/m-p/667506#M199897</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-07-07T16:48:18Z</dc:date>
    </item>
  </channel>
</rss>

