<?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 time constraints - use the first in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/time-constraints-use-the-first/m-p/640446#M190770</link>
    <description>&lt;P&gt;I have the following dataset. What I want to do is create a new time_3 column that uses the FIRST date. if one of them is missing, use the one that is available.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="259"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;subjectid&lt;/TD&gt;
&lt;TD width="92px"&gt;time_1&lt;/TD&gt;
&lt;TD width="92px"&gt;time_2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;1&lt;/TD&gt;
&lt;TD width="92px"&gt;1/2/2012 1:50&lt;/TD&gt;
&lt;TD width="92px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;2&lt;/TD&gt;
&lt;TD width="92px"&gt;1/4/2012 13:53&lt;/TD&gt;
&lt;TD width="92px"&gt;1/3/2012 1:50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;3&lt;/TD&gt;
&lt;TD width="92px"&gt;1/5/2012 1:50&lt;/TD&gt;
&lt;TD width="92px"&gt;2/6/2012 9:32&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;4&lt;/TD&gt;
&lt;TD width="92px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="92px"&gt;1/9/2019 12:12&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="358"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="61"&gt;subjectid&lt;/TD&gt;
&lt;TD width="99"&gt;time_1&lt;/TD&gt;
&lt;TD width="99"&gt;time_2&lt;/TD&gt;
&lt;TD width="99"&gt;time_use&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1/2/2012 1:50&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1/2/2012 1:50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;1/4/2012 13:53&lt;/TD&gt;
&lt;TD&gt;1/3/2012 1:50&lt;/TD&gt;
&lt;TD&gt;1/3/2012 1:50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1/5/2012 1:50&lt;/TD&gt;
&lt;TD&gt;2/6/2012 9:32&lt;/TD&gt;
&lt;TD&gt;1/5/2012 1:50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1/9/2019 12:12&lt;/TD&gt;
&lt;TD&gt;1/9/2019 12:12&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I had to do in two data sets and is there any one step that solves all?&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;data want; set have;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;if time_1 &amp;lt; time_2 then time_use= time_1;&lt;BR /&gt;else if time_2 &amp;lt; time_1 then time_use= time_2;&lt;BR /&gt;format time_use datetime16.;run;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;data have; set have;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;if time_use= . and ventstopdtm = . then time_use= time_2; &lt;BR /&gt;else if time_use= . and time_2 = . then time_use= time_1 ; &lt;BR /&gt;else time_use= time_use;&lt;BR /&gt;format time_use datetime16.;&lt;BR /&gt;run;&lt;/P&gt;</description>
    <pubDate>Thu, 16 Apr 2020 13:54:26 GMT</pubDate>
    <dc:creator>monday89</dc:creator>
    <dc:date>2020-04-16T13:54:26Z</dc:date>
    <item>
      <title>time constraints - use the first</title>
      <link>https://communities.sas.com/t5/SAS-Programming/time-constraints-use-the-first/m-p/640446#M190770</link>
      <description>&lt;P&gt;I have the following dataset. What I want to do is create a new time_3 column that uses the FIRST date. if one of them is missing, use the one that is available.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="259"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;subjectid&lt;/TD&gt;
&lt;TD width="92px"&gt;time_1&lt;/TD&gt;
&lt;TD width="92px"&gt;time_2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;1&lt;/TD&gt;
&lt;TD width="92px"&gt;1/2/2012 1:50&lt;/TD&gt;
&lt;TD width="92px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;2&lt;/TD&gt;
&lt;TD width="92px"&gt;1/4/2012 13:53&lt;/TD&gt;
&lt;TD width="92px"&gt;1/3/2012 1:50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;3&lt;/TD&gt;
&lt;TD width="92px"&gt;1/5/2012 1:50&lt;/TD&gt;
&lt;TD width="92px"&gt;2/6/2012 9:32&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="74px"&gt;4&lt;/TD&gt;
&lt;TD width="92px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="92px"&gt;1/9/2019 12:12&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="358"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="61"&gt;subjectid&lt;/TD&gt;
&lt;TD width="99"&gt;time_1&lt;/TD&gt;
&lt;TD width="99"&gt;time_2&lt;/TD&gt;
&lt;TD width="99"&gt;time_use&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1/2/2012 1:50&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1/2/2012 1:50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;1/4/2012 13:53&lt;/TD&gt;
&lt;TD&gt;1/3/2012 1:50&lt;/TD&gt;
&lt;TD&gt;1/3/2012 1:50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1/5/2012 1:50&lt;/TD&gt;
&lt;TD&gt;2/6/2012 9:32&lt;/TD&gt;
&lt;TD&gt;1/5/2012 1:50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1/9/2019 12:12&lt;/TD&gt;
&lt;TD&gt;1/9/2019 12:12&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I had to do in two data sets and is there any one step that solves all?&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;data want; set have;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;if time_1 &amp;lt; time_2 then time_use= time_1;&lt;BR /&gt;else if time_2 &amp;lt; time_1 then time_use= time_2;&lt;BR /&gt;format time_use datetime16.;run;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;data have; set have;&lt;/P&gt;
&lt;P style="margin: 0in; margin-bottom: .0001pt;"&gt;if time_use= . and ventstopdtm = . then time_use= time_2; &lt;BR /&gt;else if time_use= . and time_2 = . then time_use= time_1 ; &lt;BR /&gt;else time_use= time_use;&lt;BR /&gt;format time_use datetime16.;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2020 13:54:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/time-constraints-use-the-first/m-p/640446#M190770</guid>
      <dc:creator>monday89</dc:creator>
      <dc:date>2020-04-16T13:54:26Z</dc:date>
    </item>
    <item>
      <title>Re: time constraints - use the first</title>
      <link>https://communities.sas.com/t5/SAS-Programming/time-constraints-use-the-first/m-p/640457#M190775</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
if nmiss(time_1,time_2) then time_use=max(time_1,time_2);
else time_use=min(time_1,time_2);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;hi,&lt;/P&gt;
&lt;P&gt;im not sure that is optimal but i think that it s worked&lt;/P&gt;
&lt;P&gt;can you test it?&lt;/P&gt;
&lt;P&gt;have a good day&lt;/P&gt;
&lt;P&gt;A&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2020 14:32:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/time-constraints-use-the-first/m-p/640457#M190775</guid>
      <dc:creator>kelxxx</dc:creator>
      <dc:date>2020-04-16T14:32:46Z</dc:date>
    </item>
    <item>
      <title>Re: time constraints - use the first</title>
      <link>https://communities.sas.com/t5/SAS-Programming/time-constraints-use-the-first/m-p/640459#M190777</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data want;
 set have;
 if nmiss(time1,time2) then time3=coalesce(time1,time2);
 else time3=min(time1,time2);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 16 Apr 2020 14:33:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/time-constraints-use-the-first/m-p/640459#M190777</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-04-16T14:33:27Z</dc:date>
    </item>
    <item>
      <title>Re: time constraints - use the first</title>
      <link>https://communities.sas.com/t5/SAS-Programming/time-constraints-use-the-first/m-p/640461#M190779</link>
      <description>&lt;P&gt;Since you are examining only 2 time variables, min(time1,time2) is the same as coalesce(time1,time2)&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt; for your purposes (i.e. when there is one or more missing value):&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   set have;
   newtime=min(time1,time2);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2020 19:46:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/time-constraints-use-the-first/m-p/640461#M190779</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-04-16T19:46:15Z</dc:date>
    </item>
  </channel>
</rss>

