<?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: date contraints with adding dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612772#M178864</link>
    <description>&lt;P&gt;Instructions here: &lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt; will show how to turn an existing SAS data set into data step code that can be pasted into a forum code box using the {i} icon or attached as text to show exactly what you have and that we can test code against.&lt;/P&gt;</description>
    <pubDate>Wed, 18 Dec 2019 18:53:21 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2019-12-18T18:53:21Z</dc:date>
    <item>
      <title>date contraints with adding dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612770#M178863</link>
      <description>&lt;P&gt;Hi Currently working on the data set that i received help from forum members before but I have to add more constraints.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Let's say the current dataset is the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;subject&lt;/TD&gt;&lt;TD&gt;day&lt;/TD&gt;&lt;TD&gt;start_date&lt;/TD&gt;&lt;TD&gt;stop_date&lt;/TD&gt;&lt;TD&gt;value&lt;/TD&gt;&lt;TD&gt;value1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/2/2019 14:34&lt;/TD&gt;&lt;TD&gt;1/2/2019 19:32&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1/3/2019 19:33&lt;/TD&gt;&lt;TD&gt;1/3/2019 23:44&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1/4/2019 21:49&lt;/TD&gt;&lt;TD&gt;1/7/2019 14:10&lt;/TD&gt;&lt;TD&gt;41&lt;/TD&gt;&lt;TD&gt;99&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2/3/2019 21:33&lt;/TD&gt;&lt;TD&gt;2/3/2019 23:44&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2/4/2019 23:33&lt;/TD&gt;&lt;TD&gt;2/5/2019 1:44&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If start and stop date is not the same (meaning it carries over the next day), i would like to assign a midnight cut off (and it works), but I need the following date to carry over as needed with appropriate value and value1 being status&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Something like this below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;subject&lt;/TD&gt;&lt;TD&gt;start_date_time&lt;/TD&gt;&lt;TD&gt;stop_date_time&lt;/TD&gt;&lt;TD&gt;new_stop_date_time&lt;/TD&gt;&lt;TD&gt;value&lt;/TD&gt;&lt;TD&gt;value1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/2/2019 14:34&lt;/TD&gt;&lt;TD&gt;1/2/2019 19:32&lt;/TD&gt;&lt;TD&gt;1/2/2019 19:32&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/3/2019 19:33&lt;/TD&gt;&lt;TD&gt;1/3/2019 23:44&lt;/TD&gt;&lt;TD&gt;1/3/2019 23:44&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/4/2019 21:49&lt;/TD&gt;&lt;TD&gt;1/7/2019 14:10&lt;/TD&gt;&lt;TD&gt;1/4/2019 23:59&lt;/TD&gt;&lt;TD&gt;41&lt;/TD&gt;&lt;TD&gt;99&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1/5/2019 0:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1/5/2019 23:59&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;41&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;99&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1/6/2019 0:00&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1/6/2019 23:59&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;41&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;99&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1/7/2019 0:00&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1/7/2019 14:10&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;41&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;99&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2/3/2019 21:33&lt;/TD&gt;&lt;TD&gt;2/3/2019 23:44&lt;/TD&gt;&lt;TD&gt;2/3/2019 23:44&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2/4/2019 23:33&lt;/TD&gt;&lt;TD&gt;2/5/2019 1:44&lt;/TD&gt;&lt;TD&gt;2/4/2019 23:59&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;23&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I broke date/time into date formats only first&lt;/P&gt;&lt;P&gt;then did the following&lt;/P&gt;&lt;P&gt;if (stop date&amp;gt; start date) then new_stop_date = dhms(startdate, 23,59,59)&lt;/P&gt;&lt;P&gt;else new_stop_date = stop_date&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but I am stuck on how to carry over the same values from that same field AND adding new start date as needed&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be appreciated&lt;/P&gt;</description>
      <pubDate>Wed, 18 Dec 2019 18:48:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612770#M178863</guid>
      <dc:creator>monday89</dc:creator>
      <dc:date>2019-12-18T18:48:07Z</dc:date>
    </item>
    <item>
      <title>Re: date contraints with adding dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612772#M178864</link>
      <description>&lt;P&gt;Instructions here: &lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt; will show how to turn an existing SAS data set into data step code that can be pasted into a forum code box using the {i} icon or attached as text to show exactly what you have and that we can test code against.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Dec 2019 18:53:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612772#M178864</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-12-18T18:53:21Z</dc:date>
    </item>
    <item>
      <title>Re: date contraints with adding dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612777#M178867</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/303622"&gt;@monday89&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&lt;BR /&gt;but I am stuck on how to carry over the same values from that same field AND adding new start date as needed&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Show us what this means.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And follow the link from&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&amp;nbsp;regarding providing data in the desired format.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Dec 2019 19:11:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612777#M178867</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-12-18T19:11:25Z</dc:date>
    </item>
    <item>
      <title>Re: date contraints with adding dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612809#M178887</link>
      <description>&lt;P&gt;It was something like for carrying over the values but not that filling the dates +1&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data a.want; set have;&lt;/P&gt;&lt;P&gt;by subject;&lt;/P&gt;&lt;P&gt;if first.subject then new_value = value;&lt;/P&gt;&lt;P&gt;else new_value = coalesce (value, new_value); retain new_value;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Dec 2019 20:03:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612809#M178887</guid>
      <dc:creator>monday89</dc:creator>
      <dc:date>2019-12-18T20:03:32Z</dc:date>
    </item>
    <item>
      <title>Re: date contraints with adding dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612837#M178908</link>
      <description>&lt;P&gt;First let's convert your printout into an actual dataset.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
  input subject day start_date start_time stop_date stop_time value value1 ;
  informat start_date stop_date mmddyy. start_time stop_time time.;
  start_dt = dhms(start_date,0,0,start_time);
  stop_dt = dhms(stop_date,0,0,stop_time);
  format start_dt stop_dt datetime20.;
  drop start_date start_time stop_date stop_time ;
cards;
1 1 1/2/2019 14:34 1/2/2019 19:32 23 11
1 2 1/3/2019 19:33 1/3/2019 23:44 21 23
1 3 1/4/2019 21:49 1/7/2019 14:10 41 99
2 1 2/3/2019 21:33 2/3/2019 23:44 23 65
2 2 2/4/2019 23:33 2/5/2019 1:44 12 23
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now let's make a program to split the overnight stays.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  set have ;
  format start_new stop_new datetime. ;
  intervals=intck('dtday',start_dt,stop_dt);
  do offset=0 to intervals;
    if offset=0 then start_new=start_dt;
    else start_new=intnx('dtday',start_dt,offset,'b');
    if offset=intervals then stop_new=stop_dt;
    else stop_new=intnx('dtday',start_new,0,'e');
    output;
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Results:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/34942iEA90F637B397CFE1/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;You might want to drop the original dates and rename the new dates. And perhaps drop the other two variables.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Dec 2019 20:48:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612837#M178908</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2019-12-18T20:48:01Z</dc:date>
    </item>
    <item>
      <title>Re: date contraints with adding dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612890#M178924</link>
      <description>&lt;P&gt;&lt;SPAN style="font-weight: 400;"&gt;Thank you! I tried it but it showing me:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-weight: 400;"&gt;Invalid DO loop control information, either the INITIAL or TO expression is missing or the BY&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; expression is missing, zero, or invalid"&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I added "by" subject ID after "do", it wont work &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Dec 2019 00:58:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/date-contraints-with-adding-dates/m-p/612890#M178924</guid>
      <dc:creator>monday89</dc:creator>
      <dc:date>2019-12-19T00:58:52Z</dc:date>
    </item>
  </channel>
</rss>

