<?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: Dates between two dates based on condition in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/876321#M346236</link>
    <description>Hi Reeza, I was wondering if you could help with an issue I'm now having with this data. Basically, it is not 14 days after but after day 24 but instead the number of days after day 24 until day 42. The same with the other dates so populating dates between day 70 and day 84. Is there a way to do this- create dates in between those visits?&lt;BR /&gt;</description>
    <pubDate>Wed, 17 May 2023 20:14:52 GMT</pubDate>
    <dc:creator>jmmedina252</dc:creator>
    <dc:date>2023-05-17T20:14:52Z</dc:date>
    <item>
      <title>Dates between two dates based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/874179#M345358</link>
      <description>&lt;P&gt;Hi, I'm looking to get the dates in between 2 dates according to the criteria of a third variable.&amp;nbsp; Here is what my data looks like:&lt;/P&gt;&lt;P&gt;Animal&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Visit&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Date&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day -1&amp;nbsp; &amp;nbsp; &amp;nbsp; 05/19/21&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 14&amp;nbsp; &amp;nbsp; &amp;nbsp;06/03/21&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 28&amp;nbsp; &amp;nbsp; &amp;nbsp;06/17/21&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 42&amp;nbsp; &amp;nbsp; &amp;nbsp;07/01/21&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 70&amp;nbsp; &amp;nbsp; &amp;nbsp;07/28/21&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 84&amp;nbsp; &amp;nbsp; &amp;nbsp;08/11/21&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need the dates in between when visit= 'Day 28' and&amp;nbsp;visit= 'Day 42' and then the dates between when visit= 'Day 70' and&amp;nbsp;visit= 'Day 84', with an addition variable to signify the days calculated as 'observation' and the visit days as 'visit'&lt;/P&gt;&lt;P&gt;Also, I need 14 consecutive days calculated after&amp;nbsp;visit= 'Day 84'.&amp;nbsp; I presume an intck or intx formula would need to be used to avoid going past the correct last day of the month in a given calendar year.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The output would look like this:&lt;/P&gt;&lt;P&gt;Animal&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Visit&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Label&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day -1&amp;nbsp; &amp;nbsp; &amp;nbsp; 05/19/21&amp;nbsp; &amp;nbsp; &amp;nbsp;visit&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 14&amp;nbsp; &amp;nbsp; &amp;nbsp;06/03/21&amp;nbsp; &amp;nbsp; &amp;nbsp;visit&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 28&amp;nbsp; &amp;nbsp; &amp;nbsp;06/17/21&amp;nbsp; &amp;nbsp; &amp;nbsp;visit&lt;/P&gt;&lt;P&gt;100&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; 06/18/21&amp;nbsp; &amp;nbsp; &amp;nbsp; observation&lt;/P&gt;&lt;P&gt;100&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; 06/19/21&amp;nbsp; &amp;nbsp; &amp;nbsp; observation&lt;/P&gt;&lt;P&gt;100&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; 06/20/21&amp;nbsp; &amp;nbsp; &amp;nbsp; observation&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 42&amp;nbsp; &amp;nbsp; &amp;nbsp;07/01/21&amp;nbsp; &amp;nbsp; &amp;nbsp;visit&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 70&amp;nbsp; &amp;nbsp; &amp;nbsp;07/28/21&amp;nbsp; &amp;nbsp; &amp;nbsp;visit&lt;/P&gt;&lt;P&gt;100&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; 07/29/21&amp;nbsp; &amp;nbsp; &amp;nbsp; observation&lt;/P&gt;&lt;P&gt;100&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; 07/30/21&amp;nbsp; &amp;nbsp; &amp;nbsp; observation&lt;/P&gt;&lt;P&gt;100&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; 07/31/21&amp;nbsp; &amp;nbsp; &amp;nbsp; observation&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 84&amp;nbsp; &amp;nbsp; &amp;nbsp;08/11/21&amp;nbsp; &amp;nbsp; &amp;nbsp;visit&lt;/P&gt;&lt;P&gt;100&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;08/12/21&amp;nbsp; &amp;nbsp; &amp;nbsp;observation&lt;/P&gt;&lt;P&gt;100&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;08/13/21&amp;nbsp; &amp;nbsp; &amp;nbsp;observation&lt;/P&gt;&lt;P&gt;100&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;08/14/21&amp;nbsp; &amp;nbsp; &amp;nbsp;observation&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I put '...' to signify that the iterated rows would continue until it reaches the end point designated by visit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 May 2023 16:56:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/874179#M345358</guid>
      <dc:creator>jmmedina252</dc:creator>
      <dc:date>2023-05-05T16:56:41Z</dc:date>
    </item>
    <item>
      <title>Re: Dates between two dates based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/874181#M345359</link>
      <description>Are those intervals hardcoded? They are the same regardless of the animal?&lt;BR /&gt;</description>
      <pubDate>Fri, 05 May 2023 17:19:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/874181#M345359</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2023-05-05T17:19:25Z</dc:date>
    </item>
    <item>
      <title>Re: Dates between two dates based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/874186#M345360</link>
      <description>Yes, intervals are hardcoded and they are the same regardless of animal</description>
      <pubDate>Fri, 05 May 2023 18:17:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/874186#M345360</guid>
      <dc:creator>jmmedina252</dc:creator>
      <dc:date>2023-05-05T18:17:21Z</dc:date>
    </item>
    <item>
      <title>Re: Dates between two dates based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/874205#M345366</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
    infile cards dsd;
    input Animal  $      Visit $   Date : mmddyy10.;
    output;
    animal='200';
    output;
    format date yymmdd10.;
    cards;
100,Day -1,      05/19/21
100,Day 14,     06/03/21
100,Day 28,     06/17/21
100,Day 42,     07/01/21
100,Day 70,     07/28/21
100,Day 84,     08/11/21
;
run;

proc sort data=have;
    by animal date;
run;

data add_dates;
    set have;
    where visit in ('Day 28', 'Day 70', 'Day 84');
    label='observation';
    call missing(visit);

    if visit in('Day 28', 'Day 70') then
        do date=date+1 to date+12;
            output;
        end;
    else
        do date=date+1 to date+14;
            output;
        end;
run;

data want;
set have (in=t1) add_dates;
if t1 then label='Visit';
run;

proc sort data=want;
by animal date;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 May 2023 19:27:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/874205#M345366</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2023-05-05T19:27:45Z</dc:date>
    </item>
    <item>
      <title>Re: Dates between two dates based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/876321#M346236</link>
      <description>Hi Reeza, I was wondering if you could help with an issue I'm now having with this data. Basically, it is not 14 days after but after day 24 but instead the number of days after day 24 until day 42. The same with the other dates so populating dates between day 70 and day 84. Is there a way to do this- create dates in between those visits?&lt;BR /&gt;</description>
      <pubDate>Wed, 17 May 2023 20:14:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/876321#M346236</guid>
      <dc:creator>jmmedina252</dc:creator>
      <dc:date>2023-05-17T20:14:52Z</dc:date>
    </item>
    <item>
      <title>Re: Dates between two dates based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/876323#M346237</link>
      <description>Please show an example.</description>
      <pubDate>Wed, 17 May 2023 20:19:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/876323#M346237</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2023-05-17T20:19:09Z</dc:date>
    </item>
    <item>
      <title>Re: Dates between two dates based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/876325#M346238</link>
      <description>&lt;P&gt;Day 28 needs observation every day until day 42, day 70 needs observation days every day until day 84 and after the last dose there needs to be 28 days of observation.&amp;nbsp; What was happening before is that 14 days after day 28 may over flow onto the day 42 visit and even a few days after because day 28 and day 42 are not always 14 days apart.&amp;nbsp; I don't want observation on visit days or when during periods where observation is not required.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Animal&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Visit&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Label&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 28&amp;nbsp; &amp;nbsp; &amp;nbsp;06/17/21&amp;nbsp; &amp;nbsp; Visit&lt;/P&gt;&lt;P&gt;100&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; 06/18/21&amp;nbsp; &amp;nbsp;Observation&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;100&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; 06/30/21&amp;nbsp; &amp;nbsp;Observation&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 42&amp;nbsp; &amp;nbsp; &amp;nbsp;07/01/21&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 70&amp;nbsp; &amp;nbsp; &amp;nbsp;07/28/21&lt;/P&gt;&lt;P&gt;100&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; 07/29/21&amp;nbsp; &amp;nbsp;Observation&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;100&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;08/10/21&amp;nbsp; Observation&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Last Dose&amp;nbsp;&amp;nbsp;08/10/21&amp;nbsp; &amp;nbsp;Visit&lt;/P&gt;&lt;P&gt;100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Day 84&amp;nbsp; &amp;nbsp; &amp;nbsp;08/11/21&amp;nbsp; &amp;nbsp;Visit&lt;/P&gt;&lt;P&gt;100&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; 08/12/21&amp;nbsp; &amp;nbsp;Observation&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;since the last dose's date is a day before the visit, observation is not required on 8/11/21 but is expected 28 days after the last dose other than that day&lt;/P&gt;</description>
      <pubDate>Wed, 17 May 2023 20:39:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/876325#M346238</guid>
      <dc:creator>jmmedina252</dc:creator>
      <dc:date>2023-05-17T20:39:49Z</dc:date>
    </item>
    <item>
      <title>Re: Dates between two dates based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/876327#M346239</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
    infile cards dsd;
    input Animal  $      Visit $   Date : mmddyy10.;
    output;
    animal='200';
    output;
    format date yymmdd10.;
    cards;
100,Day -1,      05/19/21
100,Day 14,     06/03/21
100,Day 28,     06/17/21
100,Day 42,     07/01/21
100,Day 70,     07/28/21
100,Day 84,     08/11/21
;
run;

proc sort data=have;
    by animal date;
run;

data temp;
    merge have have(firstobs=2 rename=Date=nextDate keep=animal date);
    by animal;
run;

data expand;
    set temp;
    by animal;
    length label $20.;
    label='visit';
    output;

    if visit in('Day 28', 'Day 70') then
        do date=date+1 to nextdate;
            call missing(visit);
            label='observation';
            output;
        end;

    if last.animal then
        do date=date+1 to date+28;
            call missing(visit);
            labell='observation';
            output;
        end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 17 May 2023 20:59:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Dates-between-two-dates-based-on-condition/m-p/876327#M346239</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2023-05-17T20:59:14Z</dc:date>
    </item>
  </channel>
</rss>

