<?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: Comparing dates and creating variable in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719158#M222643</link>
    <description>Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;,&lt;BR /&gt;Sorry, when ENTERED DATE is equi-distant from the closest START and closest END - then it gets assigned to the end or corresponding END LOTS.&lt;BR /&gt;Also, this program works for the most part but the 'Unkowns' are not listed. ID#6 repeats several times as well. &lt;BR /&gt;Yes, i would like to have just all Unique IDs in the final data. &lt;BR /&gt;Thank you so much,</description>
    <pubDate>Sat, 13 Feb 2021 22:17:45 GMT</pubDate>
    <dc:creator>newsas007</dc:creator>
    <dc:date>2021-02-13T22:17:45Z</dc:date>
    <item>
      <title>Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719062#M222586</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;I am trying to compare the start and end dates with the entered date variable and create a new variable for status. Each ID will have only one entered date.&lt;/P&gt;
&lt;P&gt;Rule 1 – If missing Start and End by ID then Status = Unknown&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Rule 2 – if not missing start and end; If start or End dates are available then compare the closest date that matches ‘Entered’ variable date and output.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example, for ID #1 only 1 ‘Start’ date is available, Comparing this date with ‘Entered’ date i.e. Entered Date &amp;gt; Start Date and the corresponding ‘LOTS’ = 2, therefore output Status = After 2.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Similarly, for ID# 13, Only one available END date and this end date corresponds to LOTS =2, therefore output LOTS = After 2.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Next for IDs with multiple complete start and end dates choose the closest end date compared to Entered Date. For example, ID#2 has 3 start and end dates and the closest end date for the Entered date happened to be in LOTS=3, therefore status = 3.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For ID#3, the Entered date &amp;gt; the closest start date (8/14/2016) therefore Status = After 2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Finally, For any LOTS &amp;gt; 4, the status will always be After 4. For example ID#20 and 21, the LOTS are greater than 4 so therefore status will be After 4&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data Want:&lt;/P&gt;
&lt;TABLE width="425"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="66"&gt;ID&lt;/TD&gt;
&lt;TD width="77"&gt;Entered&lt;/TD&gt;
&lt;TD width="77"&gt;Start&lt;/TD&gt;
&lt;TD width="77"&gt;End&lt;/TD&gt;
&lt;TD width="64"&gt;LOTS&lt;/TD&gt;
&lt;TD width="64"&gt;Status&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;12/13/2016&lt;/TD&gt;
&lt;TD&gt;9/21/2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;After 2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;12/14/2016&lt;/TD&gt;
&lt;TD&gt;6/14/2016&lt;/TD&gt;
&lt;TD&gt;11/14/2016&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;After 3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1/2/2017&lt;/TD&gt;
&lt;TD&gt;8/14/2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;After 2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;1/25/2017&lt;/TD&gt;
&lt;TD&gt;9/14/2016&lt;/TD&gt;
&lt;TD&gt;12/15/2016&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;After 2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;3/23/2017&lt;/TD&gt;
&lt;TD&gt;11/14/2016&lt;/TD&gt;
&lt;TD&gt;2/14/2017&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;After 0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;4/30/2017&lt;/TD&gt;
&lt;TD&gt;1/10/2017&lt;/TD&gt;
&lt;TD&gt;4/14/2017&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;After 2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;7/17/2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;Unknown&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;8/24/2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;Unknown&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;TD&gt;1/31/2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;Unknown&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;2/11/2018&lt;/TD&gt;
&lt;TD&gt;10/12/2017&lt;/TD&gt;
&lt;TD&gt;12/21/2017&lt;/TD&gt;
&lt;TD&gt;-1&lt;/TD&gt;
&lt;TD&gt;After -1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;4/22/2018&lt;/TD&gt;
&lt;TD&gt;9/4/2017&lt;/TD&gt;
&lt;TD&gt;1/15/2018&lt;/TD&gt;
&lt;TD&gt;-1&lt;/TD&gt;
&lt;TD&gt;After -1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;6/11/2018&lt;/TD&gt;
&lt;TD&gt;3/17/2018&lt;/TD&gt;
&lt;TD&gt;5/15/2018&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;After 3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;6/7/2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;2/1/2018&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;After 2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;7/30/2018&lt;/TD&gt;
&lt;TD&gt;9/14/2017&lt;/TD&gt;
&lt;TD&gt;4/30/2018&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;After 1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;8/19/2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;Unknown&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;8/21/2018&lt;/TD&gt;
&lt;TD&gt;6/14/2018&lt;/TD&gt;
&lt;TD&gt;6/15/2018&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;After 0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;17&lt;/TD&gt;
&lt;TD&gt;9/10/2018&lt;/TD&gt;
&lt;TD&gt;4/8/2018&lt;/TD&gt;
&lt;TD&gt;5/31/2018&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;After 0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;TD&gt;12/12/2018&lt;/TD&gt;
&lt;TD&gt;7/15/2018&lt;/TD&gt;
&lt;TD&gt;11/14/2018&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;After 4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;19&lt;/TD&gt;
&lt;TD&gt;12/16/2018&lt;/TD&gt;
&lt;TD&gt;9/14/2018&lt;/TD&gt;
&lt;TD&gt;11/14/2018&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;After 1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;1/14/2019&lt;/TD&gt;
&lt;TD&gt;11/15/2015&lt;/TD&gt;
&lt;TD&gt;1/25/2017&lt;/TD&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;After 4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;TD&gt;3/20/2019&lt;/TD&gt;
&lt;TD&gt;8/14/2017&lt;/TD&gt;
&lt;TD&gt;1/14/2018&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;After 4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;22&lt;/TD&gt;
&lt;TD&gt;4/23/2019&lt;/TD&gt;
&lt;TD&gt;4/7/2019&lt;/TD&gt;
&lt;TD&gt;4/8/2019&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;After 0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;7/10/2019&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;Unknown&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data Have:&lt;/P&gt;
&lt;TABLE width="359"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="77"&gt;Entered&lt;/TD&gt;
&lt;TD width="77"&gt;Start&lt;/TD&gt;
&lt;TD width="77"&gt;End&lt;/TD&gt;
&lt;TD width="64"&gt;LOTS&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;12/13/2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;12/13/2016&lt;/TD&gt;
&lt;TD&gt;9/21/2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;12/14/2016&lt;/TD&gt;
&lt;TD&gt;10/28/2015&lt;/TD&gt;
&lt;TD&gt;12/28/2015&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;12/14/2016&lt;/TD&gt;
&lt;TD&gt;2/14/2016&lt;/TD&gt;
&lt;TD&gt;6/13/2016&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;12/14/2016&lt;/TD&gt;
&lt;TD&gt;6/14/2016&lt;/TD&gt;
&lt;TD&gt;11/14/2016&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1/2/2017&lt;/TD&gt;
&lt;TD&gt;10/15/2011&lt;/TD&gt;
&lt;TD&gt;8/14/2015&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1/2/2017&lt;/TD&gt;
&lt;TD&gt;10/23/2015&lt;/TD&gt;
&lt;TD&gt;8/13/2016&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1/2/2017&lt;/TD&gt;
&lt;TD&gt;8/14/2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;1/25/2017&lt;/TD&gt;
&lt;TD&gt;4/14/2016&lt;/TD&gt;
&lt;TD&gt;9/13/2016&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;1/25/2017&lt;/TD&gt;
&lt;TD&gt;9/14/2016&lt;/TD&gt;
&lt;TD&gt;12/15/2016&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;3/23/2017&lt;/TD&gt;
&lt;TD&gt;11/14/2016&lt;/TD&gt;
&lt;TD&gt;2/14/2017&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;4/30/2017&lt;/TD&gt;
&lt;TD&gt;3/24/2016&lt;/TD&gt;
&lt;TD&gt;12/18/2016&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;4/30/2017&lt;/TD&gt;
&lt;TD&gt;1/10/2017&lt;/TD&gt;
&lt;TD&gt;4/14/2017&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;7/17/2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;8/24/2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;TD&gt;1/31/2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;2/11/2018&lt;/TD&gt;
&lt;TD&gt;10/12/2017&lt;/TD&gt;
&lt;TD&gt;12/21/2017&lt;/TD&gt;
&lt;TD&gt;-1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;4/22/2018&lt;/TD&gt;
&lt;TD&gt;9/4/2017&lt;/TD&gt;
&lt;TD&gt;1/15/2018&lt;/TD&gt;
&lt;TD&gt;-1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;6/11/2018&lt;/TD&gt;
&lt;TD&gt;4/14/2017&lt;/TD&gt;
&lt;TD&gt;8/14/2017&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;6/11/2018&lt;/TD&gt;
&lt;TD&gt;10/15/2017&lt;/TD&gt;
&lt;TD&gt;2/14/2018&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;6/11/2018&lt;/TD&gt;
&lt;TD&gt;3/17/2018&lt;/TD&gt;
&lt;TD&gt;5/15/2018&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;6/7/2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;6/7/2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;6/7/2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;2/1/2018&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;7/30/2018&lt;/TD&gt;
&lt;TD&gt;9/14/2017&lt;/TD&gt;
&lt;TD&gt;4/30/2018&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;8/19/2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;16&lt;/TD&gt;
&lt;TD&gt;8/21/2018&lt;/TD&gt;
&lt;TD&gt;6/14/2018&lt;/TD&gt;
&lt;TD&gt;6/15/2018&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;17&lt;/TD&gt;
&lt;TD&gt;9/10/2018&lt;/TD&gt;
&lt;TD&gt;4/8/2018&lt;/TD&gt;
&lt;TD&gt;5/31/2018&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;TD&gt;12/12/2018&lt;/TD&gt;
&lt;TD&gt;7/15/2018&lt;/TD&gt;
&lt;TD&gt;11/14/2018&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;19&lt;/TD&gt;
&lt;TD&gt;12/16/2018&lt;/TD&gt;
&lt;TD&gt;3/27/2015&lt;/TD&gt;
&lt;TD&gt;9/13/2018&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;19&lt;/TD&gt;
&lt;TD&gt;12/16/2018&lt;/TD&gt;
&lt;TD&gt;9/14/2018&lt;/TD&gt;
&lt;TD&gt;11/14/2018&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;20&lt;/TD&gt;
&lt;TD&gt;1/14/2019&lt;/TD&gt;
&lt;TD&gt;11/15/2015&lt;/TD&gt;
&lt;TD&gt;1/25/2017&lt;/TD&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;TD&gt;3/20/2019&lt;/TD&gt;
&lt;TD&gt;8/14/2017&lt;/TD&gt;
&lt;TD&gt;1/14/2018&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;21&lt;/TD&gt;
&lt;TD&gt;3/20/2019&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;22&lt;/TD&gt;
&lt;TD&gt;4/23/2019&lt;/TD&gt;
&lt;TD&gt;4/7/2019&lt;/TD&gt;
&lt;TD&gt;4/8/2019&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;23&lt;/TD&gt;
&lt;TD&gt;7/10/2019&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Sat, 13 Feb 2021 22:05:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719062#M222586</guid>
      <dc:creator>newsas007</dc:creator>
      <dc:date>2021-02-13T22:05:08Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719064#M222587</link>
      <description>&lt;P&gt;What if you have:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1" width="69.44444444444446%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;Entered&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;Start&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;End&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;Lots&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;25&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;10/15/2020&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;25&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;10/15/2020&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp; 9/15/2020&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;25&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;10/15/2020&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;
&lt;P&gt;11/15/2020&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Sat, 13 Feb 2021 04:41:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719064#M222587</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2021-02-13T04:41:18Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719067#M222590</link>
      <description>The entered date (10/15/2020)  is closest/nearest to end date ( 11/15/2020); so therefore it is after 2</description>
      <pubDate>Sat, 13 Feb 2021 05:53:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719067#M222590</guid>
      <dc:creator>newsas007</dc:creator>
      <dc:date>2021-02-13T05:53:52Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719117#M222617</link>
      <description>&lt;P&gt;And what if the entered date is exactly half-way between START and END?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What if you have:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1" width="69.44444444444446%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;Entered&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;Start&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;End&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&lt;STRONG&gt;Lots&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;25&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;10/15/2020&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;25&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;10/15/2020&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp; 9/15/2020&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;25&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;10/15/2020&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;
&lt;P&gt;11/14/2020&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="16.666666666666668%" class="lia-align-center"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 13 Feb 2021 15:59:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719117#M222617</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2021-02-13T15:59:30Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719118#M222618</link>
      <description>This scenario where there is a end date greater than entered date doesn't happen. Basically, row #3 will not exist.</description>
      <pubDate>Sat, 13 Feb 2021 16:18:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719118#M222618</guid>
      <dc:creator>newsas007</dc:creator>
      <dc:date>2021-02-13T16:18:33Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719119#M222619</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/336862"&gt;@newsas007&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;This scenario where there is a end date greater than entered date doesn't happen. Basically, row #3 will not exist.&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I'll say that I hope that is true.&lt;/P&gt;
&lt;P&gt;In the data I deal with I have people that "end" a program before they "start" because of data entry errors.&lt;/P&gt;
&lt;P&gt;And people with medical tests on dates that will not occur until several years in the future or several years before the testing program began.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have confirmed your statement, good for you. If you believe that without testing it you might be surprised. "Shouldn't" unfortunately does not mean "doesn't" in real data entry.&lt;/P&gt;</description>
      <pubDate>Sat, 13 Feb 2021 16:29:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719119#M222619</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-02-13T16:29:12Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719121#M222621</link>
      <description>&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;, That is an excellent point. Just in case this does happen, then it should be after 1.</description>
      <pubDate>Sat, 13 Feb 2021 16:36:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719121#M222621</guid>
      <dc:creator>newsas007</dc:creator>
      <dc:date>2021-02-13T16:36:40Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719144#M222633</link>
      <description>&lt;P&gt;&lt;STRIKE&gt;You still haven't answered my question about what you want when the ENTERED DATE is equi-distant from the closest START and closest END.&lt;/STRIKE&gt;&amp;nbsp; Editted note: when equi-distant choose the END date an LOTS value.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But in ignorance of that objective, below is code that I believe you can use for the objectives as I understand them.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The strategy is to check each incoming START and END, keeping progressive track of the closest date value (CLOSEST_DATE) and its distance (CLOSEST_DIST) from ENTERED.&amp;nbsp; And also keep track of the observation number (variable PTR) containing that date.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then, at the end of each ID, re-reread the observation indicated by PTR, as the sole output record for that ID.&amp;nbsp; Here's the code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input id (entered start end) (:mmddyy8.)  lots;
  format entered start end mmddyy10.;
datalines;
1       12/13/2016            .          .              1
1       12/13/2016      9/21/2016        .              2
2       12/14/2016      10/28/2015      12/28/2015      1
2       12/14/2016      2/14/2016       6/13/2016       2
2       12/14/2016      6/14/2016       11/14/2016      3
3       1/2/2017        10/15/2011      8/14/2015       0
3       1/2/2017        10/23/2015      8/13/2016       1
3       1/2/2017        8/14/2016        .              2
4       1/25/2017       4/14/2016       9/13/2016       1
4       1/25/2017       9/14/2016       12/15/2016      2
5       3/23/2017       11/14/2016      2/14/2017       0
6       4/30/2017       3/24/2016       12/18/2016      1
6       4/30/2017       1/10/2017       4/14/2017       2
7       7/17/2017            .           .              .
8       8/24/2017            .           .              .
9       1/31/2018            .           .              .
10      2/11/2018       10/12/2017      12/21/2017      -1
11      4/22/2018       9/4/2017        1/15/2018       -1
12      6/11/2018       4/14/2017       8/14/2017       1
12      6/11/2018       10/15/2017      2/14/2018       2
12      6/11/2018       3/17/2018       5/15/2018       3
13      6/7/2018             .           .              0
13      6/7/2018             .           .              1
13      6/7/2018             .           2/1/2018       2
14      7/30/2018       9/14/2017       4/30/2018       1
15      8/19/2018            .           .              .
16      8/21/2018       6/14/2018       6/15/2018       0
17      9/10/2018       4/8/2018        5/31/2018       0
18      12/12/2018      7/15/2018       11/14/2018      4
19      12/16/2018      3/27/2015       9/13/2018       0
19      12/16/2018      9/14/2018       11/14/2018      1
20      1/14/2019       11/15/2015      1/25/2017       7
21      3/20/2019       8/14/2017       1/14/2018       5
21      3/20/2019           .            .              2
22      4/23/2019       4/7/2019        4/8/2019        0
23      7/10/2019           .            .              .
run;

data want (drop=closest_: date);
  set have;
  by id;
  if first.id then PTR=_N_;   /** Initialize the pointer for each ID **/

  retain closest_distance closest_date;
  if first.id then call missing(of closest_:);

  do date=start,end;
    if date=. then continue;  ** Skip this iteration if date is missing **;
    if min(abs(entered-date),closest_distance) = abs(entered-date) then do;
      closest_date=date;
      closest_distance=abs(entered-date);
      ptr=_n_;
    end;
  end;

  if last.id;
  set have point=ptr;   ** Re-read the designated observation **;
  length status $9;
  if nmiss(start,end)=2 then status='Unknown'; else
  if lots&amp;gt;4 then status='After 4'; else       /** Revised **/
  status=catx(' ','After',lots);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;BTW, your dataset WANT has 2 observations (edited addition: &lt;EM&gt;&lt;STRONG&gt;for ID 19&lt;/STRONG&gt;&lt;/EM&gt;), which I presume is in error.&amp;nbsp; This code produces 1 obs per id.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Comments on changed code:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;After your response to the first version of this not, I modified the code above.&amp;nbsp; I added the statement&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt; if first.id then PTR=_N_;   /** Initialize the pointer for each ID **/&lt;/LI-CODE&gt;
&lt;P&gt;which prevents carrying forward PTR values when an ID generates an UNKNOWN status (no minimum values found).&amp;nbsp; And also added&amp;nbsp;the line:&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if lots&amp;gt;4 then status='After 4'; else&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Also, if the closest END and closest START are equi-distant from ENTERED, this will chose the last qualifying date encountered.&lt;/P&gt;</description>
      <pubDate>Sun, 14 Feb 2021 01:29:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719144#M222633</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2021-02-14T01:29:31Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719158#M222643</link>
      <description>Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;,&lt;BR /&gt;Sorry, when ENTERED DATE is equi-distant from the closest START and closest END - then it gets assigned to the end or corresponding END LOTS.&lt;BR /&gt;Also, this program works for the most part but the 'Unkowns' are not listed. ID#6 repeats several times as well. &lt;BR /&gt;Yes, i would like to have just all Unique IDs in the final data. &lt;BR /&gt;Thank you so much,</description>
      <pubDate>Sat, 13 Feb 2021 22:17:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719158#M222643</guid>
      <dc:creator>newsas007</dc:creator>
      <dc:date>2021-02-13T22:17:45Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing dates and creating variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719391#M222745</link>
      <description>This works great! Thank you</description>
      <pubDate>Mon, 15 Feb 2021 17:30:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-dates-and-creating-variable/m-p/719391#M222745</guid>
      <dc:creator>newsas007</dc:creator>
      <dc:date>2021-02-15T17:30:53Z</dc:date>
    </item>
  </channel>
</rss>

