<?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: How to add missing dates in a dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/850895#M336264</link>
    <description>&lt;P&gt;If I understand correctly you need for each client same date range and if there is a visit then the flag will be 1 else 0.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data dates;
%let startDate='01Jan2022'd;
%let endDate='31Dec2022'd;
do date=&amp;amp;startdate to &amp;amp;enddate;
output;
end;
format date mmddyy10.;
run;


Proc sql;
Create table want as
	Select 
	a.date
	, b.Hospital_name
	, a.Client_Id
	, case when b.date then 1 
		else 0
	end as flag
	from (Select *, Client_Id from dates cross join (Select distinct Client_Id from have) ) as a
	left join have as b
	on a.date=b.date and a.Client_Id=b.Client_Id
	order by a.Client_Id,  a.date
;Quit;&lt;BR /&gt;Sample Output:&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;TABLE style="border-collapse: collapse; width: 204pt;" border="0" width="276" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD width="69" height="19" class="xl63" style="height: 14.6pt; width: 51pt;"&gt;date&lt;/TD&gt;
&lt;TD width="69" class="xl63" style="border-left: none; width: 51pt;"&gt;Hospital_name&lt;/TD&gt;
&lt;TD width="69" class="xl63" style="border-left: none; width: 51pt;"&gt;Client_Id&lt;/TD&gt;
&lt;TD width="69" class="xl63" style="border-left: none; width: 51pt;"&gt;flag&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/01/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;A&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/02/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;A&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/03/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/04/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/05/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/06/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/07/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/08/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/09/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/10/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/11/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/12/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" class="xl63" style="height: 14.6pt; border-top: none;"&gt;01/13/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 23 Dec 2022 04:05:09 GMT</pubDate>
    <dc:creator>SK_11</dc:creator>
    <dc:date>2022-12-23T04:05:09Z</dc:date>
    <item>
      <title>How to add missing dates in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/850884#M336260</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried to google this but am getting every other kind of solution but not to what I need, so am Hoping someone will be able to assist.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset that has Hospital Name, client ID, date of treatment and a flag. if there is no date of treatment for a client in a hospital then there is no row with the date. What i want to do is create a dataset that has a column that is consecutive dates for the full month and then the flag would be 1 or 0 for if there was a treatment.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I have is a table like this:&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Hospital_name&lt;/TD&gt;&lt;TD&gt;Client_Id&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Flag&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;Tom&lt;/TD&gt;&lt;TD&gt;1/1/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;Tom&lt;/TD&gt;&lt;TD&gt;1/2/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;John&lt;/TD&gt;&lt;TD&gt;3/1/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;John&lt;/TD&gt;&lt;TD&gt;3/10/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;John&lt;/TD&gt;&lt;TD&gt;3/11/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;Joe&lt;/TD&gt;&lt;TD&gt;1/5/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;Joe&lt;/TD&gt;&lt;TD&gt;1/10/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;John&lt;/TD&gt;&lt;TD&gt;5/1/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;Sam&lt;/TD&gt;&lt;TD&gt;4/1/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;Sam&lt;/TD&gt;&lt;TD&gt;4/10/2022&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I would like is to do is add in the missing dates for each client for the whole month. So for example Tom was seen on 1/1/2022 and 1/2/2022 he has no visits for the remaining of January but I would like to add rows for Jan 3 to 31 where the flag=0 instead of 1. Joe in Hospital B was seen on 1/5/2022 and then again on 1/10/2022, but there are multiple dates in Jan for Joe he was not seen I would like to add the full month of Jan but out a flag=0 for those months he was not seen. Then do the same of the other clients by the Hospital.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the sas code to create the sample dataset:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data have;
input Hospital_name $1.	Client_Id $5. Date Flag $1.;
informat Date mmddyy10.;
format Date mmddyy10.;
cards;
A Tom 1/1/2022 1
A Tom 1/2/2022 1
A John 3/1/2022 1
A John 3/10/2022 1
B John 3/11/2022 1
B Joe 1/5/2022 1
B Joe 1/10/2022 1
B John 5/1/2022 1
C Sam 4/1/2022 1
C Sam 4/10/2022 1
;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I'm sure the solution is simple I am just not getting it.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Dec 2022 00:48:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/850884#M336260</guid>
      <dc:creator>sas_student1</dc:creator>
      <dc:date>2022-12-23T00:48:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to add missing dates in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/850895#M336264</link>
      <description>&lt;P&gt;If I understand correctly you need for each client same date range and if there is a visit then the flag will be 1 else 0.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data dates;
%let startDate='01Jan2022'd;
%let endDate='31Dec2022'd;
do date=&amp;amp;startdate to &amp;amp;enddate;
output;
end;
format date mmddyy10.;
run;


Proc sql;
Create table want as
	Select 
	a.date
	, b.Hospital_name
	, a.Client_Id
	, case when b.date then 1 
		else 0
	end as flag
	from (Select *, Client_Id from dates cross join (Select distinct Client_Id from have) ) as a
	left join have as b
	on a.date=b.date and a.Client_Id=b.Client_Id
	order by a.Client_Id,  a.date
;Quit;&lt;BR /&gt;Sample Output:&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;TABLE style="border-collapse: collapse; width: 204pt;" border="0" width="276" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD width="69" height="19" class="xl63" style="height: 14.6pt; width: 51pt;"&gt;date&lt;/TD&gt;
&lt;TD width="69" class="xl63" style="border-left: none; width: 51pt;"&gt;Hospital_name&lt;/TD&gt;
&lt;TD width="69" class="xl63" style="border-left: none; width: 51pt;"&gt;Client_Id&lt;/TD&gt;
&lt;TD width="69" class="xl63" style="border-left: none; width: 51pt;"&gt;flag&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/01/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;A&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/02/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;A&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/03/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/04/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/05/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/06/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/07/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/08/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/09/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/10/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/11/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" align="right" class="xl64" style="height: 14.6pt; border-top: none;"&gt;1/12/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 14.6pt;"&gt;
&lt;TD height="19" class="xl63" style="height: 14.6pt; border-top: none;"&gt;01/13/2022&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="xl63" style="border-top: none; border-left: none;"&gt;Tom&lt;/TD&gt;
&lt;TD align="right" class="xl63" style="border-top: none; border-left: none;"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Dec 2022 04:05:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/850895#M336264</guid>
      <dc:creator>SK_11</dc:creator>
      <dc:date>2022-12-23T04:05:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to add missing dates in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/850937#M336284</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Hospital_name $1. Client_Id $5. Date Flag $1.;
informat Date mmddyy10.;
format Date mmddyy10.;
cards;
A Tom 1/1/2022 1
A Tom 1/2/2022 1
A John 3/1/2022 1
A John 3/10/2022 1
B John 3/11/2022 1
B Joe 1/5/2022 1
B Joe 1/10/2022 1
B John 5/1/2022 1
C Sam 4/1/2022 1
C Sam 4/10/2022 1
;
run;
proc sql;
create table temp as
select distinct Hospital_name,Client_Id,year(Date) as year,month(Date) as month
 from have;
quit;
data temp2;
 set temp;
 do date=mdy(month,1,year) to intnx('month',mdy(month,1,year),0,'e');
   output;
 end;
 format date mmddyy10.;
 drop year month;
run;
proc sql;
create table want as
select a.*,coalescec(b.flag,'0') as flag
 from temp2 as a natural left join have as b;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 23 Dec 2022 11:57:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/850937#M336284</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-12-23T11:57:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to add missing dates in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/850956#M336298</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;thanks that worked! Question: have not seen natural left join before. What does the "natural" mean?&lt;/P&gt;</description>
      <pubDate>Fri, 23 Dec 2022 14:57:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/850956#M336298</guid>
      <dc:creator>sas_student1</dc:creator>
      <dc:date>2022-12-23T14:57:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to add missing dates in a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/851021#M336326</link>
      <description>That is the same with &lt;BR /&gt;&lt;BR /&gt; from temp2 as a left join have as b &lt;BR /&gt;  on  a.Hospital_name=b.Hospital_name and a.Client_Id=b.Client_Id and a.Date=b.Date  ;&lt;BR /&gt;&lt;BR /&gt;that would be streamline, no need to type all the variables in common within two tables. Save your time ,doesn't it ?&lt;BR /&gt;</description>
      <pubDate>Sat, 24 Dec 2022 08:35:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-add-missing-dates-in-a-dataset/m-p/851021#M336326</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-12-24T08:35:12Z</dc:date>
    </item>
  </channel>
</rss>

