<?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: SAS date and time constraints by group in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653358#M196248</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/214340"&gt;@smantha&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;are your fields numeric or character. If the fields are numeric you can use missing(&amp;lt;fieldname&amp;gt;) instead of &amp;lt;fieldname&amp;gt;='.'.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The MISSING function will work with character variables as well. So a better suggestion than you first thought.&lt;/P&gt;</description>
    <pubDate>Thu, 04 Jun 2020 16:52:42 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2020-06-04T16:52:42Z</dc:date>
    <item>
      <title>SAS date and time constraints by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653281#M196235</link>
      <description>&lt;P&gt;I have the following dataset.&lt;/P&gt;
&lt;P&gt;What I would like to do is&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;if group = 2 and (stop_date_time_1 is NOT MISSING and occurs on or before final_stop_date_time) then keep = 1&lt;/LI&gt;
&lt;LI&gt;else if group = 2 and (stop_date_time_1 is missing) and start_date_time_1 occurs AFTER final_stop_date_time) then keep = 0&lt;/LI&gt;
&lt;/UL&gt;
&lt;TABLE width="571"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="72"&gt;SubjectID&lt;/TD&gt;
&lt;TD width="147"&gt;final_stop_date_time&lt;/TD&gt;
&lt;TD width="144"&gt;start_date_time_1&lt;/TD&gt;
&lt;TD width="144"&gt;stop_date_time_1&lt;/TD&gt;
&lt;TD width="64"&gt;group&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;12FEB2020:10:59:00&lt;/TD&gt;
&lt;TD&gt;11FEB2020:15:30:00&lt;/TD&gt;
&lt;TD&gt;11FEB2020:16:08:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;12FEB2020:10:59:00&lt;/TD&gt;
&lt;TD&gt;11FEB2020:16:08:00&lt;/TD&gt;
&lt;TD&gt;12FEB2020:10:59:00&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;12FEB2020:10:59:00&lt;/TD&gt;
&lt;TD&gt;12FEB2020:21:40:00&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;Want:&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="635"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="72"&gt;SubjectID&lt;/TD&gt;
&lt;TD width="147"&gt;final_stop_date_time&lt;/TD&gt;
&lt;TD width="144"&gt;start_date_time_1&lt;/TD&gt;
&lt;TD width="144"&gt;stop_date_time_1&lt;/TD&gt;
&lt;TD width="64"&gt;group&lt;/TD&gt;
&lt;TD width="64"&gt;keep&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;12FEB2020:10:59:00&lt;/TD&gt;
&lt;TD&gt;11FEB2020:15:30:00&lt;/TD&gt;
&lt;TD&gt;11FEB2020:16:08:00&lt;/TD&gt;
&lt;TD&gt;2&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;12FEB2020:10:59:00&lt;/TD&gt;
&lt;TD&gt;11FEB2020:16:08:00&lt;/TD&gt;
&lt;TD&gt;12FEB2020:10:59:00&lt;/TD&gt;
&lt;TD&gt;2&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;12FEB2020:10:59:00&lt;/TD&gt;
&lt;TD&gt;12FEB2020:21:40:00&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;I tried the following and doesn't work&lt;/P&gt;
&lt;P&gt;data want; set have;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if group = '2' and &lt;BR /&gt;(stop_date_time_1 &amp;lt;= final_stop_date_time) then keep = 1 ;&lt;BR /&gt;else if &lt;BR /&gt;(group = '2' and ((start_date_time_1 &amp;gt; final_stop_date_time ) and missing(stop_date_time_1)) OR &lt;BR /&gt;(group = '2' and (stop_date_time_2 &amp;gt; final_stop_date_time)) &lt;BR /&gt;then keep = 0;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 17:19:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653281#M196235</guid>
      <dc:creator>monday89</dc:creator>
      <dc:date>2020-06-04T17:19:30Z</dc:date>
    </item>
    <item>
      <title>Re: SAS date and time constraints by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653353#M196244</link>
      <description>&lt;P&gt;are your fields numeric or character. If the fields are numeric you can use missing(&amp;lt;fieldname&amp;gt;) instead of &amp;lt;fieldname&amp;gt;='.'.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 16:45:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653353#M196244</guid>
      <dc:creator>smantha</dc:creator>
      <dc:date>2020-06-04T16:45:50Z</dc:date>
    </item>
    <item>
      <title>Re: SAS date and time constraints by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653355#M196245</link>
      <description>&lt;P&gt;it is datetime23. format&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 16:48:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653355#M196245</guid>
      <dc:creator>monday89</dc:creator>
      <dc:date>2020-06-04T16:48:34Z</dc:date>
    </item>
    <item>
      <title>Re: SAS date and time constraints by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653358#M196248</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/214340"&gt;@smantha&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;are your fields numeric or character. If the fields are numeric you can use missing(&amp;lt;fieldname&amp;gt;) instead of &amp;lt;fieldname&amp;gt;='.'.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The MISSING function will work with character variables as well. So a better suggestion than you first thought.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 16:52:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653358#M196248</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-06-04T16:52:42Z</dc:date>
    </item>
    <item>
      <title>Re: SAS date and time constraints by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653369#M196257</link>
      <description>&lt;P&gt;Still doesn't work&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want; set have;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if group = '2' and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;(stop_date_time_1 &amp;lt;= final_stop_date_time) then keep = 1 ;&lt;BR /&gt;else if&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;(group = '2' and ((start_date_time_1 &amp;gt; final_stop_date_time ) and &lt;STRONG&gt;missing&lt;/STRONG&gt;(stop_date_time_1)) OR&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;(group = '2' and (stop_date_time_2 &amp;gt; final_stop_date_time))&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;then keep = 0;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 17:03:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653369#M196257</guid>
      <dc:creator>monday89</dc:creator>
      <dc:date>2020-06-04T17:03:27Z</dc:date>
    </item>
    <item>
      <title>Re: SAS date and time constraints by group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653411#M196278</link>
      <description>&lt;P&gt;Show the log for your data step. Show the code and any messages. Copy from the LOG and paste into a code box opened on the forum with the&amp;lt;/&amp;gt; icon. The code box is important because the message windows will reformat text including SAS generated diagnostic text.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;(group = '2' and ((start_date_time_1 &amp;gt; final_stop_date_time ) and missing(stop_date_time_1)) OR 
(group = '2' and (stop_date_time_2 &amp;gt; final_stop_date_time)) &lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;count the ( and )&lt;/STRONG&gt; you have mismatched parentheses.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 19:37:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-date-and-time-constraints-by-group/m-p/653411#M196278</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-06-04T19:37:24Z</dc:date>
    </item>
  </channel>
</rss>

