<?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 find closest match that is less than its date? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38625#M7780</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have updated my code. Please ignore my previous post.&lt;/P&gt;&lt;P&gt;Rick, when there are match dates, do you want the same date or previous date? I selected the same date and Peter selected the previous date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Linlin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 26 Jan 2012 13:18:46 GMT</pubDate>
    <dc:creator>Linlin</dc:creator>
    <dc:date>2012-01-26T13:18:46Z</dc:date>
    <item>
      <title>how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38621#M7776</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have:&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="101"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl108" height="17" width="101"&gt;prev_cpn_date&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;11/1/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;12/15/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;12/16/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;1/1/2012&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;1/16/2012&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;10/20/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;10/26/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;11/21/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;11/24/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;11/25/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;11/26/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;11/28/2011&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl109" height="17"&gt;12/1/2011&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and a quasi-lookup table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="174"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl108" height="17" width="111"&gt;AS_OF_DATE&lt;/TD&gt;&lt;TD class="xl108" width="63"&gt;SERIES_VALUE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;9/20/2011&lt;/TD&gt;&lt;TD&gt;0.355&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;9/21/2011&lt;/TD&gt;&lt;TD&gt;0.35556&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;9/22/2011&lt;/TD&gt;&lt;TD&gt;0.35806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;9/23/2011&lt;/TD&gt;&lt;TD&gt;0.36022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;9/26/2011&lt;/TD&gt;&lt;TD&gt;0.36278&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;9/27/2011&lt;/TD&gt;&lt;TD&gt;0.36522&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;9/28/2011&lt;/TD&gt;&lt;TD&gt;0.36856&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;9/29/2011&lt;/TD&gt;&lt;TD&gt;0.37211&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;9/30/2011&lt;/TD&gt;&lt;TD&gt;0.37433&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/3/2011&lt;/TD&gt;&lt;TD&gt;0.37761&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/4/2011&lt;/TD&gt;&lt;TD&gt;0.38094&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/5/2011&lt;/TD&gt;&lt;TD&gt;0.38361&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/6/2011&lt;/TD&gt;&lt;TD&gt;0.38778&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/7/2011&lt;/TD&gt;&lt;TD&gt;0.39111&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/10/2011&lt;/TD&gt;&lt;TD&gt;0.39417&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/11/2011&lt;/TD&gt;&lt;TD&gt;0.3975&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/12/2011&lt;/TD&gt;&lt;TD&gt;0.40083&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/13/2011&lt;/TD&gt;&lt;TD&gt;0.40306&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/14/2011&lt;/TD&gt;&lt;TD&gt;0.40472&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/17/2011&lt;/TD&gt;&lt;TD&gt;0.40583&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/18/2011&lt;/TD&gt;&lt;TD&gt;0.40917&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/19/2011&lt;/TD&gt;&lt;TD&gt;0.41167&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/20/2011&lt;/TD&gt;&lt;TD&gt;0.41556&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/21/2011&lt;/TD&gt;&lt;TD&gt;0.41833&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/24/2011&lt;/TD&gt;&lt;TD&gt;0.42028&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/25/2011&lt;/TD&gt;&lt;TD&gt;0.42222&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/26/2011&lt;/TD&gt;&lt;TD&gt;0.42472&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/27/2011&lt;/TD&gt;&lt;TD&gt;0.42806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/28/2011&lt;/TD&gt;&lt;TD&gt;0.42944&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;10/31/2011&lt;/TD&gt;&lt;TD&gt;0.42944&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/1/2011&lt;/TD&gt;&lt;TD&gt;0.43167&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/2/2011&lt;/TD&gt;&lt;TD&gt;0.43306&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/3/2011&lt;/TD&gt;&lt;TD&gt;0.435&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/4/2011&lt;/TD&gt;&lt;TD&gt;0.4375&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/7/2011&lt;/TD&gt;&lt;TD&gt;0.44139&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/8/2011&lt;/TD&gt;&lt;TD&gt;0.44417&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/9/2011&lt;/TD&gt;&lt;TD&gt;0.44917&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/10/2011&lt;/TD&gt;&lt;TD&gt;0.45278&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/11/2011&lt;/TD&gt;&lt;TD&gt;0.45722&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/14/2011&lt;/TD&gt;&lt;TD&gt;0.46056&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/15/2011&lt;/TD&gt;&lt;TD&gt;0.46556&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/16/2011&lt;/TD&gt;&lt;TD&gt;0.47111&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/17/2011&lt;/TD&gt;&lt;TD&gt;0.47944&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/18/2011&lt;/TD&gt;&lt;TD&gt;0.48778&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/21/2011&lt;/TD&gt;&lt;TD&gt;0.495&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/22/2011&lt;/TD&gt;&lt;TD&gt;0.50028&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/23/2011&lt;/TD&gt;&lt;TD&gt;0.50611&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/24/2011&lt;/TD&gt;&lt;TD&gt;0.51167&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/25/2011&lt;/TD&gt;&lt;TD&gt;0.51806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/28/2011&lt;/TD&gt;&lt;TD&gt;0.52306&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/29/2011&lt;/TD&gt;&lt;TD&gt;0.52694&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;11/30/2011&lt;/TD&gt;&lt;TD&gt;0.52889&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;12/1/2011&lt;/TD&gt;&lt;TD&gt;0.52722&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;12/2/2011&lt;/TD&gt;&lt;TD&gt;0.52833&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;12/5/2011&lt;/TD&gt;&lt;TD&gt;0.5339&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;12/6/2011&lt;/TD&gt;&lt;TD&gt;0.53775&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;12/7/2011&lt;/TD&gt;&lt;TD&gt;0.54&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl106" height="17"&gt;12/8/2011&lt;/TD&gt;&lt;TD&gt;0.54&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;I want to use pre_cpn_date to match as_of_date and return the series_value, the kicker is:&lt;/P&gt;&lt;P&gt;reference table doesn't have all the dates in pre_cpn_date, so in this case find the closest matched as_of_date and it must be less than pre_cpn_date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how do I do that?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 03:38:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38621#M7776</guid>
      <dc:creator>ZRick</dc:creator>
      <dc:date>2012-01-26T03:38:15Z</dc:date>
    </item>
    <item>
      <title>Re: how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38622#M7777</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a better solution. Good luck!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data pre;&lt;/P&gt;&lt;P&gt;informat prev_cpn_date mmddyy10.;&lt;/P&gt;&lt;P&gt;format prev_cpn_date mmddyy10.;&lt;/P&gt;&lt;P&gt;input prev_cpn_date;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;11/1/2011&lt;/P&gt;&lt;P&gt;12/15/2011&lt;/P&gt;&lt;P&gt;12/16/2011&lt;/P&gt;&lt;P&gt;1/1/2012&lt;/P&gt;&lt;P&gt;1/16/2012&lt;/P&gt;&lt;P&gt;10/20/2011&lt;/P&gt;&lt;P&gt;10/26/2011&lt;/P&gt;&lt;P&gt;11/21/2011&lt;/P&gt;&lt;P&gt;11/24/2011&lt;/P&gt;&lt;P&gt;11/25/2011&lt;/P&gt;&lt;P&gt;11/26/2011&lt;/P&gt;&lt;P&gt;11/28/2011&lt;/P&gt;&lt;P&gt;12/1/2011&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;informat as_of_date mmddyy10.;&lt;/P&gt;&lt;P&gt;format as_of_date mmddyy10.;&lt;/P&gt;&lt;P&gt;input AS_OF_DATE : SERIES_VALUE;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;9/20/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.355&lt;/P&gt;&lt;P&gt;9/21/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.35556&lt;/P&gt;&lt;P&gt;9/22/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.35806&lt;/P&gt;&lt;P&gt;9/23/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.36022&lt;/P&gt;&lt;P&gt;9/26/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.36278&lt;/P&gt;&lt;P&gt;9/27/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.36522&lt;/P&gt;&lt;P&gt;9/28/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.36856&lt;/P&gt;&lt;P&gt;9/29/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.37211&lt;/P&gt;&lt;P&gt;9/30/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.37433&lt;/P&gt;&lt;P&gt;10/3/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.37761&lt;/P&gt;&lt;P&gt;10/4/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.38094&lt;/P&gt;&lt;P&gt;10/5/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.38361&lt;/P&gt;&lt;P&gt;10/6/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.38778&lt;/P&gt;&lt;P&gt;10/7/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.39111&lt;/P&gt;&lt;P&gt;10/10/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.39417&lt;/P&gt;&lt;P&gt;10/11/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.3975&lt;/P&gt;&lt;P&gt;10/12/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.40083&lt;/P&gt;&lt;P&gt;10/13/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.40306&lt;/P&gt;&lt;P&gt;10/14/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.40472&lt;/P&gt;&lt;P&gt;10/17/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.40583&lt;/P&gt;&lt;P&gt;10/18/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.40917&lt;/P&gt;&lt;P&gt;10/19/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.41167&lt;/P&gt;&lt;P&gt;10/20/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.41556&lt;/P&gt;&lt;P&gt;10/21/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.41833&lt;/P&gt;&lt;P&gt;10/24/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.42028&lt;/P&gt;&lt;P&gt;10/25/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.42222&lt;/P&gt;&lt;P&gt;10/26/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.42472&lt;/P&gt;&lt;P&gt;10/27/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.42806&lt;/P&gt;&lt;P&gt;10/28/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.42944&lt;/P&gt;&lt;P&gt;10/31/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.42944&lt;/P&gt;&lt;P&gt;11/1/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.43167&lt;/P&gt;&lt;P&gt;11/2/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.43306&lt;/P&gt;&lt;P&gt;11/3/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.435&lt;/P&gt;&lt;P&gt;11/4/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.4375&lt;/P&gt;&lt;P&gt;11/7/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.44139&lt;/P&gt;&lt;P&gt;11/8/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.44417&lt;/P&gt;&lt;P&gt;11/9/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.44917&lt;/P&gt;&lt;P&gt;11/10/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.45278&lt;/P&gt;&lt;P&gt;11/11/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.45722&lt;/P&gt;&lt;P&gt;11/14/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.46056&lt;/P&gt;&lt;P&gt;11/15/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.46556&lt;/P&gt;&lt;P&gt;11/16/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.47111&lt;/P&gt;&lt;P&gt;11/17/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.47944&lt;/P&gt;&lt;P&gt;11/18/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.48778&lt;/P&gt;&lt;P&gt;11/21/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.495&lt;/P&gt;&lt;P&gt;11/22/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.50028&lt;/P&gt;&lt;P&gt;11/23/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.50611&lt;/P&gt;&lt;P&gt;11/24/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.51167&lt;/P&gt;&lt;P&gt;11/25/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.51806&lt;/P&gt;&lt;P&gt;11/28/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.52306&lt;/P&gt;&lt;P&gt;11/29/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.52694&lt;/P&gt;&lt;P&gt;11/30/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.52889&lt;/P&gt;&lt;P&gt;12/1/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.52722&lt;/P&gt;&lt;P&gt;12/2/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.52833&lt;/P&gt;&lt;P&gt;12/5/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.5339&lt;/P&gt;&lt;P&gt;12/6/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.53775&lt;/P&gt;&lt;P&gt;12/7/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.54&lt;/P&gt;&lt;P&gt;12/8/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.54&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table temp as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; select prev_cpn_date ,as_of_date,SERIES_VALUE,(prev_cpn_date-as_of_date) as diff&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; from pre,have&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where prev_cpn_date GE as_of_date &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; order by prev_cpn_date, diff; &lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;data want(drop=diff);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set temp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; by prev_cpn_date;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if first.prev_cpn_date;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc print;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prev_cpn_&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SERIES_&lt;/P&gt;&lt;P&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; Obs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; as_of_date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/20/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/20/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.41556&lt;/P&gt;&lt;P&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;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/26/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 10/26/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.42472&lt;/P&gt;&lt;P&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;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/01/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/01/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.43167&lt;/P&gt;&lt;P&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;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/21/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/21/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.49500&lt;/P&gt;&lt;P&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;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/24/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/24/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.51167&lt;/P&gt;&lt;P&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;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/25/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/25/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.51806&lt;/P&gt;&lt;P&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;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/26/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/25/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.51806&lt;/P&gt;&lt;P&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;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/28/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/28/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.52306&lt;/P&gt;&lt;P&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;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/01/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/01/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.52722&lt;/P&gt;&lt;P&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; 10&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/15/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/08/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.54000&lt;/P&gt;&lt;P&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; 11&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/16/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/08/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.54000&lt;/P&gt;&lt;P&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; 12&amp;nbsp;&amp;nbsp;&amp;nbsp; 01/01/2012&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/08/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.54000&lt;/P&gt;&lt;P&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; 13&amp;nbsp;&amp;nbsp;&amp;nbsp; 01/16/2012&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/08/2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.54000&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 04:53:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38622#M7777</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-01-26T04:53:51Z</dc:date>
    </item>
    <item>
      <title>how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38623#M7778</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Hello Linlin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thank you so much for the quick response, I do have couple of questions,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.can you tell me the logic for your data want, I know you are using array, but how it gets realized? &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. in the ﻿ ﻿pre_cpn_date dataset, I actually have 337 obs, how do I alter your code to adjust it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;really appreciate your help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 05:32:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38623#M7778</guid>
      <dc:creator>ZRick</dc:creator>
      <dc:date>2012-01-26T05:32:44Z</dc:date>
    </item>
    <item>
      <title>Re: how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38624#M7779</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;zRick&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is an approach that depends on ordered data&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; want ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; have (in= have rename= prev_cpn_date=date ) &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quasi(in= lu&amp;nbsp;&amp;nbsp; rename=&amp;nbsp;&amp;nbsp;&amp;nbsp; as_of_date=date ) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; date ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; lu &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;do&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; ;&amp;nbsp; &lt;SPAN style="color: #808000;"&gt;* to keep the prevailing values ;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latest_rate = SERIES_VALUE ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lu_date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = date ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; have ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808000;"&gt;* just cpn_date data rows are output ;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;retain&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; lu_date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latest_rate&amp;nbsp; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;format&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; lu_date &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: teal; font-size: 9pt;"&gt;date11.&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; latest_rate &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: teal; font-size: 9pt;"&gt;percent10.4&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;drop&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; SERIES_VALUE ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt; ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and here is a display of WORK.WANT&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;+FSVIEW:&amp;nbsp; WORK.WANT (B)-------------------------------+&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;| Obs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date&amp;nbsp; latest_rate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lu_date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20-OCT-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 41.1670%&amp;nbsp;&amp;nbsp; 19-OCT-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 26-OCT-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 42.2220%&amp;nbsp;&amp;nbsp; 25-OCT-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 42.9440%&amp;nbsp;&amp;nbsp; 31-OCT-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 21-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 48.7780%&amp;nbsp;&amp;nbsp; 18-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 24-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 50.6110%&amp;nbsp;&amp;nbsp; 23-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 25-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 51.1670%&amp;nbsp;&amp;nbsp; 24-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 26-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 51.8060%&amp;nbsp;&amp;nbsp; 25-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 28-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 51.8060%&amp;nbsp;&amp;nbsp; 25-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01-DEC-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 52.8890%&amp;nbsp;&amp;nbsp; 30-NOV-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15-DEC-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 54.0000%&amp;nbsp;&amp;nbsp; 08-DEC-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp; 11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16-DEC-2011&amp;nbsp;&amp;nbsp;&amp;nbsp; 54.0000%&amp;nbsp;&amp;nbsp; 08-DEC-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp; 12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01-JAN-2012&amp;nbsp;&amp;nbsp;&amp;nbsp; 54.0000%&amp;nbsp;&amp;nbsp; 08-DEC-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;|&amp;nbsp; 13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16-JAN-2012&amp;nbsp;&amp;nbsp;&amp;nbsp; 54.0000%&amp;nbsp;&amp;nbsp; 08-DEC-2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;+-----------------------------------------------------+&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;not only is SERIES_VALUE present (named latest_rate and formatted as a percent), but the date of that series value from the quasi lookup is present too as lu_date. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The datastep depends on having both tables in date order.&amp;nbsp; BY group processing interleaves rows from each table on the SET statement&lt;/P&gt;&lt;P&gt;Placing QUASI second on the SET statement ensures that when date is the same on both files, the rate chosen is for the previous day (see 24 and 25th November)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 12:46:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38624#M7779</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2012-01-26T12:46:43Z</dc:date>
    </item>
    <item>
      <title>Re: how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38625#M7780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have updated my code. Please ignore my previous post.&lt;/P&gt;&lt;P&gt;Rick, when there are match dates, do you want the same date or previous date? I selected the same date and Peter selected the previous date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Linlin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 13:18:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38625#M7780</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-01-26T13:18:46Z</dc:date>
    </item>
    <item>
      <title>Re: how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38626#M7781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I still think SQL have the native edge to single-handed deal with this kind of problem, it may not as efficient, but it sure does its job. In the following code, I have borrowed tables setup by Linlin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table want as&lt;/P&gt;&lt;P&gt;select * from pre a&lt;/P&gt;&lt;P&gt;left join have b&lt;/P&gt;&lt;P&gt;on 1&lt;/P&gt;&lt;P&gt;group by a.prev_cpn_date&lt;/P&gt;&lt;P&gt;having abs(a.prev_cpn_date-b.AS_OF_DATE)&amp;lt;= min(abs(a.prev_cpn_date-b.AS_OF_DATE) )&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the abs() and minus action could be replaced by datdif().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kindly Regards,&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 15:46:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38626#M7781</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-01-26T15:46:16Z</dc:date>
    </item>
    <item>
      <title>how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38627#M7782</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; I use previous available date.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 21:18:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38627#M7782</guid>
      <dc:creator>ZRick</dc:creator>
      <dc:date>2012-01-26T21:18:53Z</dc:date>
    </item>
    <item>
      <title>how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38628#M7783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; The code below will get the same dates as Peter's code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;sql&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;create&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;table&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; temp &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;as&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;select&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; prev_cpn_date ,as_of_date,SERIES_VALUE,(prev_cpn_date-as_of_date) &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;as&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; diff&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;from&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; pre,have&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;where&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; prev_cpn_date GT as_of_date &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;order&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; prev_cpn_date, diff; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;quit&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; want(drop=diff);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; temp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; prev_cpn_date;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; first.prev_cpn_date;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;print&lt;/STRONG&gt;;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Linlin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 21:27:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38628#M7783</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-01-26T21:27:45Z</dc:date>
    </item>
    <item>
      <title>how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38629#M7784</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I copied the Peter's Linlin's and HaiKuo's codes and tested it.&lt;/P&gt;&lt;P&gt;Peter's comes back with exactly the same 339 entries, while Linlins return way more records, and haikuo's returned a cartesian warning.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%let analysis_date = "19dec2011"d;&lt;/P&gt;&lt;P&gt;data FLoat_Leg_fr_GDR;&lt;BR /&gt;input prev_cpn_date:mmddyy10. PRI_ID $;&lt;BR /&gt;cards;&lt;BR /&gt;11/1/2011 0WR158494&lt;BR /&gt;12/15/2011 0WR161175&lt;BR /&gt;12/16/2011 0WR161290&lt;BR /&gt;1/1/2012 0WR036278&lt;BR /&gt;1/16/2012 0WR162975&lt;BR /&gt;10/20/2011 0WR163296&lt;BR /&gt;10/26/2011 0WR163874&lt;BR /&gt;11/21/2011 0WR165713&lt;BR /&gt;11/24/2011 0WR165853&lt;BR /&gt;11/25/2011 0WR166133&lt;BR /&gt;11/26/2011 0WR166315&lt;BR /&gt;11/28/2011 0WR166513&lt;BR /&gt;12/1/2011 0WR166737&lt;BR /&gt;12/8/2011 0WR167396&lt;BR /&gt;12/25/2011 0WR036013&lt;BR /&gt;11/16/2011 0WR172578&lt;BR /&gt;11/19/2011 0WR173071&lt;BR /&gt;11/25/2011 0WR174350&lt;BR /&gt;11/26/2011 0WR174475&lt;BR /&gt;12/1/2011 0WR174996&lt;BR /&gt;12/11/2011 0WR151812&lt;BR /&gt;12/14/2011 0WR151838&lt;BR /&gt;12/15/2011 0WR038993&lt;BR /&gt;12/15/2011 0WR171950&lt;BR /&gt;12/15/2011 0WR172172&lt;BR /&gt;12/28/2011 0WR177379&lt;BR /&gt;12/28/2011 0WR177213&lt;BR /&gt;12/28/2011 0WR177478&lt;BR /&gt;12/28/2011 0WR177239&lt;BR /&gt;1/1/2012 0WR177973&lt;BR /&gt;1/4/2012 0WR178351&lt;BR /&gt;1/5/2012 0WR178559&lt;BR /&gt;1/19/2012 0WR179797&lt;BR /&gt;11/16/2011 0WR182536&lt;BR /&gt;11/17/2011 0WR182718&lt;BR /&gt;11/22/2011 0WR183492&lt;BR /&gt;11/22/2011 0WR183450&lt;BR /&gt;12/13/2011 0WR185315&lt;BR /&gt;12/16/2011 0WR156753&lt;BR /&gt;12/17/2011 0WR156878&lt;BR /&gt;12/21/2011 0WR156894&lt;BR /&gt;12/1/2011 0WR035551&lt;BR /&gt;12/14/2011 0WR194879&lt;BR /&gt;12/18/2011 0WR161530&lt;BR /&gt;1/16/2012 0WR163031&lt;BR /&gt;1/19/2012 0WR163056&lt;BR /&gt;12/14/2011 0WR168014&lt;BR /&gt;11/15/2011 0WR036351&lt;BR /&gt;12/2/2011 0WR219114&lt;BR /&gt;1/5/2012 0WR224452&lt;BR /&gt;1/1/2012 0WR178013&lt;BR /&gt;1/5/2012 0WR178617&lt;BR /&gt;1/18/2012 0WR222373&lt;BR /&gt;12/7/2011 0WR184896&lt;BR /&gt;12/16/2011 0WR063090&lt;BR /&gt;1/6/2012 0WP227895&lt;BR /&gt;1/9/2012 0WP228059&lt;BR /&gt;11/3/2011 0WP212517&lt;BR /&gt;12/4/2011 0WR139031&lt;BR /&gt;12/5/2011 0WR139254&lt;BR /&gt;12/5/2011 0WR139239&lt;BR /&gt;12/6/2011 0WR139452&lt;BR /&gt;12/9/2011 0WR139536&lt;BR /&gt;12/10/2011 0WR139593&lt;BR /&gt;12/11/2011 0WR139734&lt;BR /&gt;12/12/2011 0WR139817&lt;BR /&gt;12/13/2011 0WR140039&lt;BR /&gt;12/15/2011 0WR064197&lt;BR /&gt;12/16/2011 0WR140195&lt;BR /&gt;12/17/2011 0WR140419&lt;BR /&gt;12/18/2011 0WR140591&lt;BR /&gt;12/19/2011 0WR140831&lt;BR /&gt;12/30/2011 0WR141334&lt;BR /&gt;1/16/2012 0WR142456&lt;BR /&gt;11/28/2011 0WR144890&lt;BR /&gt;11/28/2011 0WR144916&lt;BR /&gt;11/29/2011 0WR145038&lt;BR /&gt;11/29/2011 0WR145095&lt;BR /&gt;11/28/2011 0WR157116&lt;BR /&gt;12/2/2011 0WR145194&lt;BR /&gt;12/3/2011 0WR145459&lt;BR /&gt;12/4/2011 0WR145590&lt;BR /&gt;12/5/2011 0WR145855&lt;BR /&gt;12/5/2011 0WR145814&lt;BR /&gt;12/9/2011 0WR146176&lt;BR /&gt;12/11/2011 0WR146374&lt;BR /&gt;12/12/2011 0WR146473&lt;BR /&gt;12/24/2011 0WR146994&lt;BR /&gt;12/26/2011 0WR147034&lt;BR /&gt;1/2/2012 0WR147356&lt;BR /&gt;10/27/2011 0WR148412&lt;BR /&gt;11/12/2011 0WR149550&lt;BR /&gt;11/19/2011 0WR173097&lt;BR /&gt;11/19/2011 0WR173196&lt;BR /&gt;11/19/2011 0WR149956&lt;BR /&gt;11/20/2011 0WR150095&lt;BR /&gt;11/20/2011 0WR173394&lt;BR /&gt;11/25/2011 0WR150277&lt;BR /&gt;11/26/2011 0WR150616&lt;BR /&gt;11/26/2011 0WR150590&lt;BR /&gt;11/27/2011 0WR150657&lt;BR /&gt;11/28/2011 0WR150772&lt;BR /&gt;12/1/2011 0WR150996&lt;BR /&gt;12/3/2011 0WR151317&lt;BR /&gt;12/3/2011 0WR151374&lt;BR /&gt;12/6/2011 0WR219551&lt;BR /&gt;12/10/2011 0WR151739&lt;BR /&gt;12/15/2011 0WR049073&lt;BR /&gt;12/16/2011 0WR151978&lt;BR /&gt;12/17/2011 0WR152075&lt;BR /&gt;12/17/2011 0WR152091&lt;BR /&gt;12/18/2011 0WR152174&lt;BR /&gt;12/18/2011 0WR152299&lt;BR /&gt;12/21/2011 0WR152372&lt;BR /&gt;12/22/2011 0WR152455&lt;BR /&gt;12/24/2011 0WR152851&lt;BR /&gt;12/25/2011 0WR152976&lt;BR /&gt;12/28/2011 0WR153230&lt;BR /&gt;1/7/2012 0WR153453&lt;BR /&gt;1/13/2012 0WR153511&lt;BR /&gt;10/22/2011 0WR153834&lt;BR /&gt;11/9/2011 0WR154691&lt;BR /&gt;11/19/2011 0WR155318&lt;BR /&gt;11/20/2011 0WR155417&lt;BR /&gt;11/23/2011 0WR155599&lt;BR /&gt;11/24/2011 0WR155672&lt;BR /&gt;11/27/2011 0WR155854&lt;BR /&gt;12/9/2011 0WR156431&lt;BR /&gt;12/10/2011 0WR156530&lt;BR /&gt;12/14/2011 0WR156639&lt;BR /&gt;12/15/2011 0WR156712&lt;BR /&gt;1/19/2012 0WR157694&lt;BR /&gt;10/28/2011 0WR158338&lt;BR /&gt;11/5/2011 0WR159393&lt;BR /&gt;11/18/2011 0WR160235&lt;BR /&gt;11/28/2011 0WR176314&lt;BR /&gt;12/5/2011 0WR160755&lt;BR /&gt;12/8/2011 0WR160870&lt;BR /&gt;12/10/2011 0WR160995&lt;BR /&gt;12/10/2011 0WR160953&lt;BR /&gt;12/11/2011 0WR161019&lt;BR /&gt;12/11/2011 0WR161035&lt;BR /&gt;12/12/2011 0WR161092&lt;BR /&gt;12/15/2011 0WR161191&lt;BR /&gt;12/16/2011 0WR161431&lt;BR /&gt;12/18/2011 0WR161555&lt;BR /&gt;12/18/2011 0WR161597&lt;BR /&gt;12/22/2011 0WR161993&lt;BR /&gt;12/23/2011 0WR162074&lt;BR /&gt;12/26/2011 0WR162314&lt;BR /&gt;1/9/2012 0WR162652&lt;BR /&gt;1/14/2012 0WR162892&lt;BR /&gt;1/15/2012 0WR162959&lt;BR /&gt;1/16/2012 0WR162991&lt;BR /&gt;1/19/2012 0WR163072&lt;BR /&gt;1/19/2012 0WR163197&lt;BR /&gt;10/20/2011 0WR163312&lt;BR /&gt;10/20/2011 0WR163254&lt;BR /&gt;10/22/2011 0WR163510&lt;BR /&gt;10/22/2011 0WR163551&lt;BR /&gt;10/23/2011 0WR163650&lt;BR /&gt;10/23/2011 0WR163759&lt;BR /&gt;10/26/2011 0WR163890&lt;BR /&gt;10/26/2011 0WR163916&lt;BR /&gt;11/17/2011 0WR165333&lt;BR /&gt;11/19/2011 0WR165614&lt;BR /&gt;11/21/2011 0WR165739&lt;BR /&gt;11/24/2011 0WR165879&lt;BR /&gt;11/25/2011 0WR166158&lt;BR /&gt;11/26/2011 0WR166331&lt;BR /&gt;11/26/2011 0WR166299&lt;BR /&gt;11/28/2011 0WR166539&lt;BR /&gt;12/1/2011 0WR166752&lt;BR /&gt;12/8/2011 0WR167412&lt;BR /&gt;12/21/2011 0WR168998&lt;BR /&gt;12/21/2011 0WR169038&lt;BR /&gt;1/15/2012 0WR142514&lt;BR /&gt;10/30/2011 0WR171455&lt;BR /&gt;10/30/2011 0WR171539&lt;BR /&gt;11/5/2011 0WR171919&lt;BR /&gt;11/12/2011 0WR172271&lt;BR /&gt;11/13/2011 0WR172339&lt;BR /&gt;11/26/2011 0WR174491&lt;BR /&gt;12/1/2011 0WR201393&lt;BR /&gt;12/15/2011 0WR035452&lt;BR /&gt;12/15/2011 0WR171976&lt;BR /&gt;12/15/2011 0WR172156&lt;BR /&gt;12/15/2011 0WR176496&lt;BR /&gt;12/17/2011 0WR176611&lt;BR /&gt;12/22/2011 0WR176892&lt;BR /&gt;12/28/2011 0WR177270&lt;BR /&gt;12/28/2011 0WR177437&lt;BR /&gt;12/28/2011 0WR177494&lt;BR /&gt;12/28/2011 0WR177254&lt;BR /&gt;12/28/2011 0WR177395&lt;BR /&gt;12/29/2011 0WR177593&lt;BR /&gt;1/4/2012 0WR178377&lt;BR /&gt;1/6/2012 0WR178799&lt;BR /&gt;1/7/2012 0WR178831&lt;BR /&gt;1/14/2012 0WR179318&lt;BR /&gt;1/19/2012 0WR179813&lt;BR /&gt;10/21/2011 0WR180118&lt;BR /&gt;11/1/2011 0WR180936&lt;BR /&gt;11/3/2011 0WR181397&lt;BR /&gt;11/10/2011 0WR040239&lt;BR /&gt;12/7/2011 0WR184912&lt;BR /&gt;12/9/2011 0WR185117&lt;BR /&gt;. 0WR227935&lt;BR /&gt;1/15/2012 0WR062555&lt;BR /&gt;10/25/2011 0WR192519&lt;BR /&gt;11/8/2011 0WR159492&lt;BR /&gt;11/25/2011 0WR193111&lt;BR /&gt;12/1/2011 0WR050451&lt;BR /&gt;12/23/2011 0WR196452&lt;BR /&gt;12/14/2011 0WR207051&lt;BR /&gt;12/15/2011 0WR053315&lt;BR /&gt;12/20/2011 0WR207838&lt;BR /&gt;12/21/2011 0WR208216&lt;BR /&gt;12/24/2011 0WR208836&lt;BR /&gt;1/3/2012 0WR063355&lt;BR /&gt;12/1/2011 0WR065913&lt;BR /&gt;1/1/2012 0WR063454&lt;BR /&gt;12/15/2011 0WR176454&lt;BR /&gt;12/16/2011 0WR176553&lt;BR /&gt;12/12/2011 0WR139858&lt;BR /&gt;12/13/2011 0WR140054&lt;BR /&gt;12/16/2011 0WR140211&lt;BR /&gt;12/17/2011 0WR140435&lt;BR /&gt;12/18/2011 0WR128133&lt;BR /&gt;12/18/2011 0WR140617&lt;BR /&gt;12/19/2011 0WR140856&lt;BR /&gt;11/28/2011 0WR144932&lt;BR /&gt;11/29/2011 0WR145053&lt;BR /&gt;11/29/2011 0WR145079&lt;BR /&gt;12/2/2011 0WR145210&lt;BR /&gt;12/3/2011 0WR145475&lt;BR /&gt;12/4/2011 0WR145616&lt;BR /&gt;12/5/2011 0WR145830&lt;BR /&gt;12/11/2011 0WR146390&lt;BR /&gt;12/24/2011 0WR147018&lt;BR /&gt;12/26/2011 0WR147059&lt;BR /&gt;1/2/2012 0WR147372&lt;BR /&gt;10/27/2011 0WR148438&lt;BR /&gt;11/12/2011 0WR149535&lt;BR /&gt;11/19/2011 0WR149972&lt;BR /&gt;11/26/2011 0WR150632&lt;BR /&gt;11/27/2011 0WR150673&lt;BR /&gt;11/28/2011 0WR150798&lt;BR /&gt;12/3/2011 0WR151333&lt;BR /&gt;12/17/2011 0WR152133&lt;BR /&gt;12/18/2011 0WR152190&lt;BR /&gt;12/22/2011 0WR152471&lt;BR /&gt;12/24/2011 0WR152877&lt;BR /&gt;12/28/2011 0WR153198&lt;BR /&gt;1/16/2012 0WR153578&lt;BR /&gt;10/26/2011 0WR154030&lt;BR /&gt;10/30/2011 0WR154238&lt;BR /&gt;11/12/2011 0WR154857&lt;BR /&gt;11/16/2011 0WR154915&lt;BR /&gt;11/18/2011 0WR155219&lt;BR /&gt;11/18/2011 0WR155276&lt;BR /&gt;11/20/2011 0WR155433&lt;BR /&gt;12/14/2011 0WR156654&lt;BR /&gt;11/1/2011 0WR158510&lt;BR /&gt;1/16/2012 0WR163015&lt;BR /&gt;1/19/2012 0WR163171&lt;BR /&gt;10/22/2011 0WR163577&lt;BR /&gt;10/23/2011 0WR163775&lt;BR /&gt;11/24/2011 0WR165895&lt;BR /&gt;11/25/2011 0WR166174&lt;BR /&gt;11/28/2011 0WR166497&lt;BR /&gt;11/28/2011 0WR166554&lt;BR /&gt;12/21/2011 0WR169012&lt;BR /&gt;1/16/2012 0WR170234&lt;BR /&gt;1/16/2012 0WR170259&lt;BR /&gt;10/30/2011 0WR171554&lt;BR /&gt;10/30/2011 0WR171471&lt;BR /&gt;11/5/2011 0WR171935&lt;BR /&gt;11/5/2011 0WR171893&lt;BR /&gt;11/11/2011 0WR172255&lt;BR /&gt;11/13/2011 0WR172313&lt;BR /&gt;11/16/2011 0WR172693&lt;BR /&gt;11/19/2011 0WR173055&lt;BR /&gt;11/19/2011 0WR173139&lt;BR /&gt;11/25/2011 0WR174392&lt;BR /&gt;11/26/2011 0WR174517&lt;BR /&gt;12/9/2011 0WR175837&lt;BR /&gt;12/9/2011 0WR175795&lt;BR /&gt;12/10/2011 0WR175977&lt;BR /&gt;12/15/2011 0WR176470&lt;BR /&gt;12/15/2011 0WR176512&lt;BR /&gt;12/16/2011 0WR176538&lt;BR /&gt;12/17/2011 0WR176637&lt;BR /&gt;12/27/2011 0WR177130&lt;BR /&gt;12/28/2011 0WR177353&lt;BR /&gt;12/28/2011 0WR177296&lt;BR /&gt;12/28/2011 0WR177452&lt;BR /&gt;12/28/2011 0WR177411&lt;BR /&gt;12/28/2011 0WR177536&lt;BR /&gt;1/4/2012 0WR178336&lt;BR /&gt;1/4/2012 0WR178393&lt;BR /&gt;1/5/2012 0WR178591&lt;BR /&gt;1/6/2012 0WR178815&lt;BR /&gt;1/15/2012 0WR179599&lt;BR /&gt;10/29/2011 0WR180878&lt;BR /&gt;11/10/2011 0WR182114&lt;BR /&gt;11/17/2011 0WR182759&lt;BR /&gt;12/2/2011 0WR184177&lt;BR /&gt;12/10/2011 0WR185257&lt;BR /&gt;12/10/2011 0WR185190&lt;BR /&gt;12/13/2011 0WR185414&lt;BR /&gt;12/17/2011 0WR185950&lt;BR /&gt;12/20/2011 0WR186131&lt;BR /&gt;12/23/2011 0WR186313&lt;BR /&gt;1/6/2012 0WR186974&lt;BR /&gt;10/20/2011 0WR189077&lt;BR /&gt;12/4/2011 0WR194416&lt;BR /&gt;10/20/2011 0WR200213&lt;BR /&gt;11/5/2011 0WR201971&lt;BR /&gt;11/11/2011 0WR202334&lt;BR /&gt;12/20/2011 0WR207911&lt;BR /&gt;12/1/2011 0WR210030&lt;BR /&gt;12/28/2011 0WR213851&lt;BR /&gt;1/6/2012 0WR227919&lt;BR /&gt;1/9/2012 0WR228016&lt;BR /&gt;1/17/2012 0WR228339&lt;BR /&gt;1/17/2012 0WR228438&lt;BR /&gt;1/17/2012 0WP228356&lt;BR /&gt;1/17/2012 0WR228313&lt;BR /&gt;. 0WP227952&lt;BR /&gt;12/30/2011 0WP223431&lt;BR /&gt;11/15/2011 0WR217456&lt;BR /&gt;11/19/2011 0WR218074&lt;BR /&gt;12/20/2011 0WR220237&lt;BR /&gt;12/21/2011 0WR203316&lt;BR /&gt;11/9/2011 0WR224817&lt;BR /&gt;11/22/2011 0WR225392&lt;BR /&gt;1/9/2012 0WP228034&lt;BR /&gt;1/17/2012 0WP228414&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;proc sort data = FLoat_Leg_fr_GDR out=flt_srt;&lt;BR /&gt; by prev_cpn_date;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data lib3rate;&lt;BR /&gt;input AS_OF_DATE: mmddyy10. SERIES_VALUE;&lt;BR /&gt;cards;&lt;BR /&gt;9/20/2011 0.355&lt;BR /&gt;9/21/2011 0.35556&lt;BR /&gt;9/22/2011 0.35806&lt;BR /&gt;9/23/2011 0.36022&lt;BR /&gt;9/26/2011 0.36278&lt;BR /&gt;9/27/2011 0.36522&lt;BR /&gt;9/28/2011 0.36856&lt;BR /&gt;9/29/2011 0.37211&lt;BR /&gt;9/30/2011 0.37433&lt;BR /&gt;10/3/2011 0.37761&lt;BR /&gt;10/4/2011 0.38094&lt;BR /&gt;10/5/2011 0.38361&lt;BR /&gt;10/6/2011 0.38778&lt;BR /&gt;10/7/2011 0.39111&lt;BR /&gt;10/10/2011 0.39417&lt;BR /&gt;10/11/2011 0.3975&lt;BR /&gt;10/12/2011 0.40083&lt;BR /&gt;10/13/2011 0.40306&lt;BR /&gt;10/14/2011 0.40472&lt;BR /&gt;10/17/2011 0.40583&lt;BR /&gt;10/18/2011 0.40917&lt;BR /&gt;10/19/2011 0.41167&lt;BR /&gt;10/20/2011 0.41556&lt;BR /&gt;10/21/2011 0.41833&lt;BR /&gt;10/24/2011 0.42028&lt;BR /&gt;10/25/2011 0.42222&lt;BR /&gt;10/26/2011 0.42472&lt;BR /&gt;10/27/2011 0.42806&lt;BR /&gt;10/28/2011 0.42944&lt;BR /&gt;10/31/2011 0.42944&lt;BR /&gt;11/1/2011 0.43167&lt;BR /&gt;11/2/2011 0.43306&lt;BR /&gt;11/3/2011 0.435&lt;BR /&gt;11/4/2011 0.4375&lt;BR /&gt;11/7/2011 0.44139&lt;BR /&gt;11/8/2011 0.44417&lt;BR /&gt;11/9/2011 0.44917&lt;BR /&gt;11/10/2011 0.45278&lt;BR /&gt;11/11/2011 0.45722&lt;BR /&gt;11/14/2011 0.46056&lt;BR /&gt;11/15/2011 0.46556&lt;BR /&gt;11/16/2011 0.47111&lt;BR /&gt;11/17/2011 0.47944&lt;BR /&gt;11/18/2011 0.48778&lt;BR /&gt;11/21/2011 0.495&lt;BR /&gt;11/22/2011 0.50028&lt;BR /&gt;11/23/2011 0.50611&lt;BR /&gt;11/24/2011 0.51167&lt;BR /&gt;11/25/2011 0.51806&lt;BR /&gt;11/28/2011 0.52306&lt;BR /&gt;11/29/2011 0.52694&lt;BR /&gt;11/30/2011 0.52889&lt;BR /&gt;12/1/2011 0.52722&lt;BR /&gt;12/2/2011 0.52833&lt;BR /&gt;12/5/2011 0.5339&lt;BR /&gt;12/6/2011 0.53775&lt;BR /&gt;12/7/2011 0.54&lt;BR /&gt;12/8/2011 0.54&lt;BR /&gt;12/9/2011 0.54175&lt;BR /&gt;12/12/2011 0.5435&lt;BR /&gt;12/13/2011 0.54625&lt;BR /&gt;12/14/2011 0.55505&lt;BR /&gt;12/15/2011 0.55915&lt;BR /&gt;12/16/2011 0.56315&lt;BR /&gt;12/19/2011 0.56695&lt;BR /&gt;12/20/2011 0.56975&lt;BR /&gt;12/21/2011 0.57125&lt;BR /&gt;12/22/2011 0.57375&lt;BR /&gt;12/23/2011 0.57575&lt;BR /&gt;12/28/2011 0.57925&lt;BR /&gt;12/29/2011 0.581&lt;BR /&gt;12/30/2011 0.581&lt;BR /&gt;1/3/2012 0.5825&lt;BR /&gt;1/4/2012 0.5825&lt;BR /&gt;1/5/2012 0.5825&lt;BR /&gt;1/6/2012 0.5815&lt;BR /&gt;1/9/2012 0.5805&lt;BR /&gt;1/10/2012 0.5795&lt;BR /&gt;1/11/2012 0.5765&lt;BR /&gt;1/12/2012 0.5715&lt;BR /&gt;1/13/2012 0.567&lt;BR /&gt;1/16/2012 0.5649&lt;BR /&gt;1/17/2012 0.5623&lt;BR /&gt;1/18/2012 0.5612&lt;BR /&gt;1/19/2012 0.5612&lt;BR /&gt;1/20/2012 0.5611&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;/*************from peter*************/&lt;BR /&gt;data final ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; set flt_srt&amp;nbsp;&amp;nbsp; (in= have rename= prev_cpn_date=date ) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lib3rate&amp;nbsp; (in= lu&amp;nbsp;&amp;nbsp; rename=as_of_date=date ) ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; by date ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if lu then do ;&amp;nbsp; * to keep the prevailing values ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latest_rate = SERIES_VALUE ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lu_date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = date ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if have ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * just cpn_date data rows are output ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; retain lu_date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latest_rate&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; format lu_date date9.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; drop&amp;nbsp;&amp;nbsp; SERIES_VALUE ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/***********************from Lin****************/&lt;BR /&gt;proc sql;&lt;BR /&gt;&amp;nbsp; create table temp_lin as&lt;BR /&gt;&amp;nbsp;&amp;nbsp; select prev_cpn_date ,as_of_date,SERIES_VALUE,(prev_cpn_date-as_of_date) as diff&lt;BR /&gt;&amp;nbsp;&amp;nbsp; from FLoat_Leg_fr_GDR,lib3rate&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where prev_cpn_date GT as_of_date &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; order by prev_cpn_date, diff; &lt;BR /&gt;quit;&lt;BR /&gt; &lt;BR /&gt;data final_lin(drop=diff);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; set temp_lin;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; by prev_cpn_date;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if first.prev_cpn_date;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/***************from Hai.Kuo***************/&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;create table final3 as&lt;BR /&gt;select * from FLoat_Leg_fr_GDR a&lt;BR /&gt;&amp;nbsp;&amp;nbsp; left join lib3rate b&lt;BR /&gt;on 1&lt;BR /&gt;group by a.prev_cpn_date&lt;BR /&gt;having abs(a.prev_cpn_date-b.AS_OF_DATE)&amp;lt;= min(abs(a.prev_cpn_date-b.AS_OF_DATE) )&lt;BR /&gt;;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 23:25:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38629#M7784</guid>
      <dc:creator>ZRick</dc:creator>
      <dc:date>2012-01-26T23:25:04Z</dc:date>
    </item>
    <item>
      <title>how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38630#M7785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Which one, if any, returned the result you wanted?&amp;nbsp; And, if the answer is none of the above, what do you want your resulting file to look like?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2012 23:30:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38630#M7785</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-01-26T23:30:22Z</dc:date>
    </item>
    <item>
      <title>Re: how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38631#M7786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rick,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The number of observations generated by my code are 79. this is caused by the duplicate and missing value of variable "prev_cpn_date" in your dataset.&lt;/P&gt;&lt;P&gt;Thare are no duplicate and missing prev_cpn_date in the sample data you provided.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Linlin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jan 2012 01:01:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38631#M7786</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-01-27T01:01:29Z</dc:date>
    </item>
    <item>
      <title>how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38632#M7787</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Peter's is the right one.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jan 2012 02:27:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38632#M7787</guid>
      <dc:creator>ZRick</dc:creator>
      <dc:date>2012-01-27T02:27:34Z</dc:date>
    </item>
    <item>
      <title>Re: how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38633#M7788</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The code below generates 337 observations. the two observations with missing prev_cpn_date were exluded.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt; create table temp_lin as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; select prev_cpn_date format=mmddyy10.,pri_id,as_of_date format=mmddyy10.,SERIES_VALUE,(prev_cpn_date-as_of_date) as diff&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from FLoat_Leg_fr_GDR,lib3rate&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where prev_cpn_date GT as_of_date &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; order by prev_cpn_date, diff,pri_id ; &lt;/P&gt;&lt;P&gt;create table look as select prev_cpn_date as dd format=mmddyy10.,min(diff) as &lt;/P&gt;&lt;P&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; mdiff from temp_lin&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by prev_cpn_date;&lt;/P&gt;&lt;P&gt;create table final_lin (drop=diff dd mdiff) as&lt;/P&gt;&lt;P&gt;&amp;nbsp; select * from temp_lin as a,look &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where a.prev_cpn_date=look.dd&lt;/P&gt;&lt;P&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; and a.diff=look.mdiff;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;proc print;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jan 2012 02:41:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38633#M7788</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-01-27T02:41:18Z</dc:date>
    </item>
    <item>
      <title>Re: how to find closest match that is less than its date?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38634#M7789</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My previous code did not count for missing values, it produced table with 513 obs, however, under my settings (SAS 9.2, winxp sp3), it did not alarm any cartisian warnings. So are you using a learning version of SAS?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After a minor tweak to acount for the missing values, it outcomes a table with 341 obs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table final3 as&lt;/P&gt;&lt;P&gt;select distinct * from FLoat_Leg_fr_GDR (where=(not missing (prev_cpn_date))) a&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; left join lib3rate b&lt;/P&gt;&lt;P&gt;on 1&lt;/P&gt;&lt;P&gt;group by a.prev_cpn_date&lt;/P&gt;&lt;P&gt;having abs(a.prev_cpn_date-b.AS_OF_DATE)&amp;lt;= min(abs(a.prev_cpn_date-b.AS_OF_DATE) )&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The reason it has 341 obs instead of 337 is that there are some records have the same date difference between pre and post obs, so they BOTH get to be kept. I wonder if SQL can actuall chose pre or post obs when there is a tie. The benefit of SQL is that data does not need to be pre-sorted, and SQL in this case,&amp;nbsp; will deliver most accurate results just in term of minimum differences.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jan 2012 12:21:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-find-closest-match-that-is-less-than-its-date/m-p/38634#M7789</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-01-27T12:21:43Z</dc:date>
    </item>
  </channel>
</rss>

