<?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 How to identify missing dates ? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934916#M367599</link>
    <description>&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have 2 datasets&lt;/P&gt;
&lt;P&gt;In the below dataset for a subject the visit start date and end date has been provided.&lt;/P&gt;
&lt;P&gt;patient visit_start&amp;nbsp; &amp;nbsp;visit_end&amp;nbsp; &amp;nbsp; &amp;nbsp;start_date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end_date&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;06JAN2024&lt;/P&gt;
&lt;P&gt;In another dataset we have a set of dates recorded for the same subject.&lt;/P&gt;
&lt;P&gt;patient&amp;nbsp; &amp;nbsp; &amp;nbsp; date&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31dec2023&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;01jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; 01jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; 04jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; 05jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; 05jan2024&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The dates in the second table provided should be checked with the date range (start_date end_date) provided in first table and the dates which are not in range should be flagged and the missing calendar dates for the given range should be displayed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Output: date range 01 jan2024 06jan2024&lt;/P&gt;
&lt;P&gt;patient visit_start&amp;nbsp; &amp;nbsp;visit_end&amp;nbsp; &amp;nbsp; &amp;nbsp;start_date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end_date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; out_of_range&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Missing_calendar days&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024&amp;nbsp; 31dec2023&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y&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;02JAN2024, 03JAN2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 01jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 01jan2024&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 04jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 07jan2024&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 08jan2024&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the above output should be applied for all the subjects in the dataset and also for all the other visit_start and visit_end date ranges as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your help will be very much appreciated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 07 Jul 2024 16:55:55 GMT</pubDate>
    <dc:creator>r3570</dc:creator>
    <dc:date>2024-07-07T16:55:55Z</dc:date>
    <item>
      <title>How to identify missing dates ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934916#M367599</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have 2 datasets&lt;/P&gt;
&lt;P&gt;In the below dataset for a subject the visit start date and end date has been provided.&lt;/P&gt;
&lt;P&gt;patient visit_start&amp;nbsp; &amp;nbsp;visit_end&amp;nbsp; &amp;nbsp; &amp;nbsp;start_date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end_date&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;06JAN2024&lt;/P&gt;
&lt;P&gt;In another dataset we have a set of dates recorded for the same subject.&lt;/P&gt;
&lt;P&gt;patient&amp;nbsp; &amp;nbsp; &amp;nbsp; date&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31dec2023&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;01jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; 01jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; 04jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; 05jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; 05jan2024&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The dates in the second table provided should be checked with the date range (start_date end_date) provided in first table and the dates which are not in range should be flagged and the missing calendar dates for the given range should be displayed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Output: date range 01 jan2024 06jan2024&lt;/P&gt;
&lt;P&gt;patient visit_start&amp;nbsp; &amp;nbsp;visit_end&amp;nbsp; &amp;nbsp; &amp;nbsp;start_date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end_date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; out_of_range&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Missing_calendar days&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024&amp;nbsp; 31dec2023&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Y&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;02JAN2024, 03JAN2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 01jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 01jan2024&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 04jan2024&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 07jan2024&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y&lt;/P&gt;
&lt;P&gt;1001&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCR&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WEEK0&amp;nbsp; &amp;nbsp;01JAN2024&amp;nbsp; &amp;nbsp; &amp;nbsp; 06JAN2024 08jan2024&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Y&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the above output should be applied for all the subjects in the dataset and also for all the other visit_start and visit_end date ranges as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your help will be very much appreciated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 07 Jul 2024 16:55:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934916#M367599</guid>
      <dc:creator>r3570</dc:creator>
      <dc:date>2024-07-07T16:55:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify missing dates ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934918#M367600</link>
      <description>&lt;P&gt;Can you show the code you have tried?&amp;nbsp; I think for the first part, it would be helpful to post your example data as DATA steps with the CARDS statement.&amp;nbsp; It looks like it should be straight forward to merge the two datasets, and check whether in date in inside our outside of the range.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The second part is trickier. One way to approach it is to make a dataset with all dates in the range.&amp;nbsp; Then you can merge that against your data, to find those dates that are missing.&lt;/P&gt;</description>
      <pubDate>Sun, 07 Jul 2024 20:20:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934918#M367600</guid>
      <dc:creator>Quentin</dc:creator>
      <dc:date>2024-07-07T20:20:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify missing dates ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934928#M367608</link>
      <description>&lt;P&gt;I do not have any code written but have only this data available.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jul 2024 05:08:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934928#M367608</guid>
      <dc:creator>r3570</dc:creator>
      <dc:date>2024-07-08T05:08:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify missing dates ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934932#M367611</link>
      <description>&lt;P&gt;You should, at least, post the data in usable form. &lt;/P&gt;
&lt;P&gt;Computing "missing_calendar_days" has one difficulty: creating "missing_calendar_days" with a sufficient length. The variable is just used to display the missing dates and won't be used in any further calculation, right?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jul 2024 06:55:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934932#M367611</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2024-07-08T06:55:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify missing dates ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934937#M367612</link>
      <description>&lt;P&gt;Let's call your first dataset "patients", and the second "have".&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data reference;
set patients;
do date = stat_date to end_date;
  output;
end;
keep patient date;
run;

data want;
merge
  have (in=h)
  reference (in=r)
;
by patient date;
oor = (h and not r);
miss = (r and not h);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can now use the two boolean variables for further analysis.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jul 2024 11:38:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934937#M367612</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-07-08T11:38:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify missing dates ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934938#M367613</link>
      <description>&lt;P&gt;Let me provide the required sample data here which has data different than the one i posted earlier. But the concept is same. Please use the Qs dataset provided below so that it has missing dates&lt;/P&gt;
&lt;P&gt;Data QS_ ;&lt;BR /&gt;do qsdat1 = '26aug2021'd to '08oct2021'd,"13apr2022"d to "15apr2022"d ;&lt;BR /&gt;patient = 1001015;&lt;BR /&gt;output ;&lt;BR /&gt;end ;&lt;BR /&gt;format qsdat1 is8601da.;&lt;BR /&gt;run ;&lt;/P&gt;
&lt;P&gt;Data qs ;&lt;BR /&gt;set QS_ ;&lt;BR /&gt;if _n_ in (7,10,15,19,25,29) then delete;&lt;BR /&gt;RUN ;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Data SV_ ;&lt;BR /&gt;input patient 1-7 visit_start $9-15 visit_end $17-23 start_date1 $25-33 end_date1 $ 35-43 ;&lt;BR /&gt;datalines ;&lt;BR /&gt;1001015 scr1 week0 02sep2021 05oct2021&lt;BR /&gt;1001015 week22 week26 07mar2022 12apr2022&lt;BR /&gt;1001015 week48 week52 05sep2022 29sep2022&lt;BR /&gt;1001015 week74 week78 13mar2023 12apr2023&lt;BR /&gt;1001015 week100 week104 05sep2023 09oct2023&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yes the missing dates are used only to display not for any calculations purposes.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jul 2024 08:03:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934938#M367613</guid>
      <dc:creator>r3570</dc:creator>
      <dc:date>2024-07-08T08:03:53Z</dc:date>
    </item>
    <item>
      <title>Re: How to identify missing dates ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934939#M367614</link>
      <description>&lt;P&gt;So this is the same data as presented&amp;nbsp;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Missing-and-Additional/m-p/934912/highlight/true#M367597" target="_blank" rel="noopener"&gt;here&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Are you two attending the same class, or in fact the same person?&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jul 2024 08:18:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-identify-missing-dates/m-p/934939#M367614</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-07-08T08:18:38Z</dc:date>
    </item>
  </channel>
</rss>

