<?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 select the first obs after a given time? in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39274#M10119</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What if , say, you only have 1 record after 9 and 12, is '3 record per day' a mandate or in some special case you will take 0-2 records per day? if it has to be 3, how you want them to be repeated?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 21 Mar 2012 14:15:17 GMT</pubDate>
    <dc:creator>Haikuo</dc:creator>
    <dc:date>2012-03-21T14:15:17Z</dc:date>
    <item>
      <title>how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39273#M10118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a dataset of 8000 observation each with a datetime variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to create a new dataset where it only takes the&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. first observation after 9.15am each day&lt;/P&gt;&lt;P&gt;2. first observation after 12.30pm each day&lt;/P&gt;&lt;P&gt;3. first observation after 4pm each day&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My dataset has 8000 obs spanning 65 days (all days are week days, no obs on weekends), and so I wish for this new data set to have only 3 obs each day, i.e the dataset would have 65*3=195 observations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: #eef4f9;"&gt;if say, there was no more records after 4pm, then yes that day would just have 2 records. So no it does not have to be 3 records per day.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any advise would be much appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 14:07:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39273#M10118</guid>
      <dc:creator>skipper</dc:creator>
      <dc:date>2012-03-21T14:07:00Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39274#M10119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What if , say, you only have 1 record after 9 and 12, is '3 record per day' a mandate or in some special case you will take 0-2 records per day? if it has to be 3, how you want them to be repeated?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 14:15:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39274#M10119</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-03-21T14:15:17Z</dc:date>
    </item>
    <item>
      <title>how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39275#M10120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;if say, there was no more records after 4pm, then yes that day would just have 2 records. So no it does not have to be 3 records per day.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 14:18:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39275#M10120</guid>
      <dc:creator>skipper</dc:creator>
      <dc:date>2012-03-21T14:18:32Z</dc:date>
    </item>
    <item>
      <title>how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39276#M10121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Along similar lines ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the first record of the day is at 1 p.m., should that record be selected once or twice?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The programming won't be that difficult, assuming you can sort the data by your date-time variable.&amp;nbsp; It's the objective that is critical. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 14:31:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39276#M10121</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-03-21T14:31:55Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39277#M10122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;If the first record of the day is at 1 p.m, then select it once. &lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;(i.e&amp;nbsp; there will only be at most 2 records for that day, 2 records if we have&amp;nbsp; some data after 4pm and only 1 record for that day if we have no obs after 4pm)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;My dataset has 8000 observations each observation has 3 variables&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;- Trade_Date_Time (datetime variable)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;- Options_Trade_Price&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;- Futures_Trade_Price&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;and is already sorted by Trade_date_time&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 14:37:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39277#M10122</guid>
      <dc:creator>skipper</dc:creator>
      <dc:date>2012-03-21T14:37:07Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39278#M10123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am sure there must be better approaches, effiency wise. But for the time being, try this, since it is not tested, error could happen:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*to make a group variable by day*/&lt;/P&gt;&lt;P&gt;data have2;&lt;/P&gt;&lt;P&gt;set have2;&lt;/P&gt;&lt;P&gt;date=datepart(Trade_Date_Time);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*sorting by day and time*/&lt;/P&gt;&lt;P&gt;proc sort data=have2;&lt;/P&gt;&lt;P&gt;by date Trade_Date_Time;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (drop=date n1-n3);&lt;/P&gt;&lt;P&gt;/*to get the first row no. after criteria point*/&lt;/P&gt;&lt;P&gt;do _n_=1 by 1 until (last.date);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; by date datetimevar;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if timepart(Trade_Date_Time)&amp;gt;= '9:15:00't then n1=coalesce(n1,_n_);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if timepart(Trade_Date_Time)&amp;gt;='12:30:00't then n2=coalesce(n2,_n_);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if timepart(Trade_Date_Time)&amp;gt;='16:00:00't then n3=coalesce(n3,_n_);&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt;/*output the results*/&lt;/P&gt;&lt;P&gt; do _n_=1 by 1 until (last.date);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have2;&lt;/P&gt;&lt;P&gt; by date Trade_Date_Time;&lt;/P&gt;&lt;P&gt; if _n_=n1 then output;&lt;/P&gt;&lt;P&gt; else if _n_=n2 then output;&lt;/P&gt;&lt;P&gt; else if _n_=n3 then output;&lt;/P&gt;&lt;P&gt; end;&lt;/P&gt;&lt;P&gt; run;&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>Wed, 21 Mar 2012 14:45:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39278#M10123</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-03-21T14:45:37Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39279#M10124</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;how about:&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;data&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; test ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;format&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; date &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: teal; font-size: 10pt;"&gt;mmddyy10.&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; time &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: teal; font-size: 10pt;"&gt;time5.&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; datetime &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: teal; font-size: 10pt;"&gt;datetime18.&lt;/SPAN&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: blue; font-size: 10pt;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; datetime&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: teal; font-size: 10pt;"&gt;datetime18.&lt;/SPAN&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;date=datepart(datetime);&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;time=timepart(datetime);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&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; time &amp;lt;=&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;"9:15"t&lt;/STRONG&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;delete&lt;/SPAN&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: blue; font-size: 10pt;"&gt;else&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;if&lt;/SPAN&gt; &lt;STRONG style="color: teal; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;"9:15"t&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;&amp;lt;time &amp;lt;=&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;"12:30"t&lt;/STRONG&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;then&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; group=&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;1&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;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;else&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;if&lt;/SPAN&gt; &lt;STRONG style="color: teal; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;"12:30"t&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;&amp;lt;time&amp;lt;=&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;"16:00"t&lt;/STRONG&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;then&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; group=&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;2&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;&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;else&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; group=&lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;3&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: blue; font-size: 10pt;"&gt;cards&lt;/SPAN&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: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:08:15&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:09:15&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:09:30&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:12:30&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:13:45&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:16:00&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:23:59&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:12:30&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:14:00&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:16:00&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:16:35&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;04jul2006:18:35&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;06jul2006:09:00&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;06jul2006:09:20&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;06jul2006:09:35&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;06jul2006:12:00&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;06jul2006:12:30&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;06jul2006:14:21&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;06jul2006:16:00&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;06jul2006:17:35&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffc0; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;06jul2006:18:35&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;sort&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;&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; date group time;&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;&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;set&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; test;&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;by&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; date group;&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;if&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; first.group;&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;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;SPAN style="font-family: 'SAS Monospace'; font-size: 8pt;"&gt;Obs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; time&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; datetime&amp;nbsp;&amp;nbsp;&amp;nbsp; group&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 8pt;"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/04/2006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04JUL06:09:30:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 8pt;"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/04/2006&amp;nbsp;&amp;nbsp;&amp;nbsp; 13:45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04JUL06:13:45:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 8pt;"&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/04/2006&amp;nbsp;&amp;nbsp;&amp;nbsp; 16:35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04JUL06:16:35:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 8pt;"&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/06/2006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9:20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 06JUL06:09:20:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 8pt;"&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/06/2006&amp;nbsp;&amp;nbsp;&amp;nbsp; 14:21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 06JUL06:14:21:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 8pt;"&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 07/06/2006&amp;nbsp;&amp;nbsp;&amp;nbsp; 17:35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 06JUL06:17:35:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt;Linlin&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Linlin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 14:49:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39279#M10124</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-03-21T14:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39280#M10125</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is the same as Linlin's suggested code, thus she should get the credit for the answer, but it has one minor change and uses what I think it an easier way to document the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format date mmddyy10. time time5. datetime datetime18.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input datetime&lt;/P&gt;&lt;P&gt;&amp;nbsp; datetime18. ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; date=datepart(datetime);&lt;/P&gt;&lt;P&gt;&amp;nbsp; time=timepart(datetime);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if "9:15"t &amp;lt;time &amp;lt;= "12:30"t then group=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else if "12:30"t &amp;lt;time &amp;lt;= "16:00"t then group=2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if "16:00"t &amp;lt; time then group=3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else group=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if group &amp;gt;0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;04jul2006:08:15&lt;/P&gt;&lt;P&gt;04jul2006:09:15&lt;/P&gt;&lt;P&gt;04jul2006:09:30&lt;/P&gt;&lt;P&gt;04jul2006:12:30&lt;/P&gt;&lt;P&gt;04jul2006:13:45&lt;/P&gt;&lt;P&gt;04jul2006:16:00&lt;/P&gt;&lt;P&gt;04jul2006:23:59&lt;/P&gt;&lt;P&gt;04jul2006:12:30&lt;/P&gt;&lt;P&gt;04jul2006:14:00&lt;/P&gt;&lt;P&gt;04jul2006:16:00&lt;/P&gt;&lt;P&gt;04jul2006:16:35&lt;/P&gt;&lt;P&gt;04jul2006:18:35&lt;/P&gt;&lt;P&gt;06jul2006:09:00&lt;/P&gt;&lt;P&gt;06jul2006:09:20&lt;/P&gt;&lt;P&gt;06jul2006:09:35&lt;/P&gt;&lt;P&gt;06jul2006:12:00&lt;/P&gt;&lt;P&gt;06jul2006:12:30&lt;/P&gt;&lt;P&gt;06jul2006:14:21&lt;/P&gt;&lt;P&gt;06jul2006:16:00&lt;/P&gt;&lt;P&gt;06jul2006:17:35&lt;/P&gt;&lt;P&gt;06jul2006:18:35&lt;/P&gt;&lt;P&gt;07jul2006:17:35&lt;/P&gt;&lt;P&gt;07jul2006:18:35&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by date group time;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by date group;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if first.group;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 15:07:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39280#M10125</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-03-21T15:07:08Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39281#M10126</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks, that works great, really appreciate your time, thank you so much &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 15:07:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39281#M10126</guid>
      <dc:creator>skipper</dc:creator>
      <dc:date>2012-03-21T15:07:14Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39282#M10127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thank you also, this works great as well&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 15:08:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39282#M10127</guid>
      <dc:creator>skipper</dc:creator>
      <dc:date>2012-03-21T15:08:10Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39283#M10128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Art,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you! I made some other changes too.&lt;SPAN style="color: #0000ff; font-family: Courier New;"&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #008080; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 15:22:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39283#M10128</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-03-21T15:22:47Z</dc:date>
    </item>
    <item>
      <title>how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39284#M10129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; You could do this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data periods(keep=period hbeg hend);&lt;BR /&gt;input hb mb he me;&lt;BR /&gt;hbeg = hms(hb, mb, 0);&lt;BR /&gt;hend = hms(he, me, 59.99);&lt;BR /&gt;period = _n_;&lt;BR /&gt;datalines;&lt;BR /&gt;9 15 12 29&lt;BR /&gt;12 30 15 59&lt;BR /&gt;16 0 23 59&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;BR /&gt;input Trade_Date_Time ANYDTDTM. Options_Trade_Price Futures_Trade_Price;&lt;BR /&gt;format Trade_Date_Time datetime20.0;&lt;BR /&gt;datalines;&lt;BR /&gt;01012012 08:30:00&amp;nbsp; 1 2&lt;BR /&gt;01012012 10:30:00&amp;nbsp; 1 2&lt;BR /&gt;01012012 12:30:00&amp;nbsp; 1 2&lt;BR /&gt;01012012 14:30:00&amp;nbsp; 1 2&lt;BR /&gt;01012012 16:30:00&amp;nbsp; 1 2&lt;BR /&gt;01012012 18:30:00&amp;nbsp; 1 2&lt;BR /&gt;01012012 20:30:00&amp;nbsp; 1 2&lt;BR /&gt;01012012 22:30:00&amp;nbsp; 1 2&lt;BR /&gt;02012012 08:00:00&amp;nbsp; 1 2&lt;BR /&gt;02012012 10:00:00&amp;nbsp; 1 2&lt;BR /&gt;02012012 12:00:00&amp;nbsp; 1 2&lt;BR /&gt;02012012 14:00:00&amp;nbsp; 1 2&lt;BR /&gt;02012012 16:00:00&amp;nbsp; 1 2&lt;BR /&gt;02012012 18:00:00&amp;nbsp; 1 2&lt;BR /&gt;02012012 20:00:00&amp;nbsp; 1 2&lt;BR /&gt;02012012 22:00:00&amp;nbsp; 1 2&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;create table firstTimes as&lt;BR /&gt;select min(Trade_date_time) as firstTime, datePart(Trade_date_time) as tradeDate, period&lt;BR /&gt;from test inner join periods on timepart(trade_date_time) between hbeg and hend&lt;BR /&gt;group by calculated tradeDate, period;&lt;/P&gt;&lt;P&gt;create table firstTrades as&lt;BR /&gt;select test.*, period&lt;BR /&gt;from test inner join firstTimes on test.Trade_date_time=firstTime;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 15:24:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39284#M10129</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2012-03-21T15:24:49Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39285#M10130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is a Hash version, no need to presort, no need to create grouping variables, presumely&amp;nbsp; more efficient than the previous one that I had posted. Borrowed LinLin's sample set:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;format&amp;nbsp; datetime datetime18.;&lt;/P&gt;&lt;P&gt;input datetime datetime18. ;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;04jul2006:08:15&lt;/P&gt;&lt;P&gt;04jul2006:09:15&lt;/P&gt;&lt;P&gt;04jul2006:09:30&lt;/P&gt;&lt;P&gt;04jul2006:12:30&lt;/P&gt;&lt;P&gt;04jul2006:13:45&lt;/P&gt;&lt;P&gt;04jul2006:16:00&lt;/P&gt;&lt;P&gt;04jul2006:23:59&lt;/P&gt;&lt;P&gt;04jul2006:12:30&lt;/P&gt;&lt;P&gt;04jul2006:14:00&lt;/P&gt;&lt;P&gt;04jul2006:16:00&lt;/P&gt;&lt;P&gt;04jul2006:16:35&lt;/P&gt;&lt;P&gt;04jul2006:18:35&lt;/P&gt;&lt;P&gt;06jul2006:09:00&lt;/P&gt;&lt;P&gt;06jul2006:09:20&lt;/P&gt;&lt;P&gt;06jul2006:09:35&lt;/P&gt;&lt;P&gt;06jul2006:12:00&lt;/P&gt;&lt;P&gt;06jul2006:12:30&lt;/P&gt;&lt;P&gt;06jul2006:14:21&lt;/P&gt;&lt;P&gt;06jul2006:16:00&lt;/P&gt;&lt;P&gt;06jul2006:17:35&lt;/P&gt;&lt;P&gt;06jul2006:18:35&lt;/P&gt;&lt;P&gt;07aug2008:18:35&lt;/P&gt;&lt;P&gt;07aug2008:18:36&lt;/P&gt;&lt;P&gt;07aug2008:18:36&lt;/P&gt;&lt;P&gt;07aug2008:18:33&lt;/P&gt;&lt;P&gt;07aug2008:10:35&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (keep=datetime);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have point=_n_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dcl hash h(dataset:'have', multidata:'yes', ordered: 'a');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.definekey('datetime');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.definedata('datetime');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.definedone();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dcl hiter hi('h');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;do _rc=hi.first() by 0 while (_rc=0); &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date=datepart(datetime);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&amp;nbsp; while (_rc=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if timepart(datetime) &amp;gt;= '16:00't then&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; do; &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; ct1+1;&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; if ct1 =1 then output;&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; end;&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; else if timepart(datetime) &amp;gt;='12:30't then&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; do;&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; ct2+1;&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; if ct2=1 then output;&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; end;&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; else if timepart(datetime) &amp;gt;= '9:15't then &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; do;&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; ct3+1;&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; if ct3=1 then output;&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; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _rc=hi.next();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if date ne datepart(datetime) then leave;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call missing(of ct1-ct3);&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stop;&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;Regards,&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Mar 2012 01:06:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39285#M10130</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-03-22T01:06:55Z</dc:date>
    </item>
    <item>
      <title>Re: how to select the first obs after a given time?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39286#M10131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is my two cents.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data test ;
format datetime datetime18.;
input datetime datetime18. ;
date=datepart(datetime);
time=timepart(datetime);
cards;
04jul2006:08:15
04jul2006:09:15
04jul2006:09:30
04jul2006:12:30
04jul2006:13:45
04jul2006:16:00
04jul2006:23:59
04jul2006:12:30
04jul2006:14:00
04jul2006:16:00
04jul2006:16:35
04jul2006:18:35
06jul2006:09:00
06jul2006:09:20
06jul2006:09:35
06jul2006:12:00
06jul2006:12:30
06jul2006:14:21
06jul2006:16:00
06jul2006:17:35
06jul2006:18:35
;
run;
proc sort data=test; by date time;run;
data want(keep=datetime);
 set test;
 by date;
 retain one two three;
 if first.date then do;one=0;two=0;three=0;end;
 if (time ge '9:15:00't) then do;if not one then output;one=1;end;
 if (time ge '12:30:00't) then do;if not two then output;two=1;end;
 if (time ge '16:00:00't ) then do;if not three then output;three=1;end;
run;


&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Mar 2012 08:08:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-select-the-first-obs-after-a-given-time/m-p/39286#M10131</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-03-22T08:08:09Z</dc:date>
    </item>
  </channel>
</rss>

