<?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: Filling the missing dates in column in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302169#M64059</link>
    <description>&lt;P&gt;Assuming first date and last date per application exists, and that date is a SAS date,&lt;/P&gt;&lt;P&gt;then you can do:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by app;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if not first.app and not last.app&amp;nbsp;then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;save_date = date; drop save_date;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if save_date &amp;lt; lag(date) +1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do date = lag(date)+1 to save_date - 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* time = ...whatever you prefer ... */&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;</description>
    <pubDate>Mon, 03 Oct 2016 20:22:21 GMT</pubDate>
    <dc:creator>Shmuel</dc:creator>
    <dc:date>2016-10-03T20:22:21Z</dc:date>
    <item>
      <title>Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302135#M64040</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have a dataset and need to calculate the applications through out the month they where touched and not touched and thus need to add dates on missing days. My dataset looks like below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Actual dataset.&lt;/P&gt;&lt;P&gt;App# Modified Time&lt;/P&gt;&lt;P&gt;001 09/07/16 11:03:08&lt;/P&gt;&lt;P&gt;001 09/08/16 12:26:15&lt;/P&gt;&lt;P&gt;001 09/08/16 11:04:52&lt;/P&gt;&lt;P&gt;001 09/12/16 09:05:10&lt;/P&gt;&lt;P&gt;002&amp;nbsp;09/01/16 11:03:08&lt;/P&gt;&lt;P&gt;002 09/02/16 12:26:15&lt;/P&gt;&lt;P&gt;002 09/04/16 11:04:52&lt;/P&gt;&lt;P&gt;002 09/09/16 09:05:10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Correct output should look like below&lt;/P&gt;&lt;P&gt;App# Modified Time&lt;/P&gt;&lt;P&gt;001 09/07/16 11:03:08&lt;/P&gt;&lt;P&gt;001 09/08/16 12:26:15&lt;/P&gt;&lt;P&gt;001 09/08/16 11:04:52&lt;/P&gt;&lt;P&gt;001 09/09/16 01:01:01&lt;/P&gt;&lt;P&gt;001 09/10/16&amp;nbsp;01:01:01&lt;/P&gt;&lt;P&gt;001 09/11/16&amp;nbsp;01:01:01&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;001 09/12/16 09:05:10&lt;/P&gt;&lt;P&gt;002&amp;nbsp;09/01/16 11:03:08&lt;/P&gt;&lt;P&gt;002 09/02/16 12:26:15&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;002 09/03/16&amp;nbsp;01:01:01 &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;002 09/04/16 11:04:52&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;002 09/05/16 &lt;SPAN&gt;01:01:01&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;002 09/06/16 &lt;SPAN&gt;01:01:01&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;002 09/07/16&amp;nbsp;01:01:01&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;002 09/08/16 &lt;SPAN&gt;01:01:01&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;002 09/09/16 11:04:52&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Oct 2016 18:50:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302135#M64040</guid>
      <dc:creator>Di_Pat</dc:creator>
      <dc:date>2016-10-03T18:50:18Z</dc:date>
    </item>
    <item>
      <title>Re: Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302144#M64044</link>
      <description>Are date and time two different variables or one single variable?</description>
      <pubDate>Mon, 03 Oct 2016 19:10:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302144#M64044</guid>
      <dc:creator>set_all__</dc:creator>
      <dc:date>2016-10-03T19:10:35Z</dc:date>
    </item>
    <item>
      <title>Re: Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302146#M64046</link>
      <description>&lt;P&gt;They are two different variables. For missing dates, time can be anything.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Oct 2016 19:14:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302146#M64046</guid>
      <dc:creator>Di_Pat</dc:creator>
      <dc:date>2016-10-03T19:14:32Z</dc:date>
    </item>
    <item>
      <title>Re: Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302169#M64059</link>
      <description>&lt;P&gt;Assuming first date and last date per application exists, and that date is a SAS date,&lt;/P&gt;&lt;P&gt;then you can do:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by app;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if not first.app and not last.app&amp;nbsp;then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;save_date = date; drop save_date;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if save_date &amp;lt; lag(date) +1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do date = lag(date)+1 to save_date - 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* time = ...whatever you prefer ... */&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Oct 2016 20:22:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302169#M64059</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-10-03T20:22:21Z</dc:date>
    </item>
    <item>
      <title>Re: Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302181#M64067</link>
      <description>&lt;P&gt;it does not work for me. It generates error for do loop. Thank you&lt;/P&gt;</description>
      <pubDate>Mon, 03 Oct 2016 22:01:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302181#M64067</guid>
      <dc:creator>Di_Pat</dc:creator>
      <dc:date>2016-10-03T22:01:28Z</dc:date>
    </item>
    <item>
      <title>Re: Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302226#M64084</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;try code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by app;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; save_date = date; prev_date=lag(date); &amp;nbsp;diff = save_date - prev_date;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DROP save_date prev_date diff;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if first.app then output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if diff ge 2 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do date = prev_date +1 &amp;nbsp;to save_date by 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* time = ...whatever you preffer ... */&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end; else output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Oct 2016 03:11:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302226#M64084</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2016-10-04T03:11:18Z</dc:date>
    </item>
    <item>
      <title>Re: Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302240#M64091</link>
      <description>&lt;PRE&gt;
data have;
input App ModifiedTime anydtdtm32.;
date=datepart(modifiedtime);
format modifiedtime datetime. date date9.;
cards;
001 09/07/16 11:03:08
001 09/08/16 12:26:15
001 09/08/16 11:04:52
001 09/12/16 09:05:10
002 09/01/16 11:03:08
002 09/02/16 12:26:15
002 09/04/16 11:04:52
002 09/09/16 09:05:10
;
run;
proc sql;
create table temp as 
 select app,datepart(min(modifiedtime)) as min ,
            datepart(max(modifiedtime)) as max
  from have
   group by app;
quit;
data x;
 set temp;
 do date=min to max;
  output;
 end;
 format date date9.;
 keep app date;
run;
data want;
 merge have x;
 by app date;
 new=coalesce(modifiedtime,dhms(date,1,1,1));
 format new datetime.;
 drop date modifiedtime;
run;
 

&lt;/PRE&gt;</description>
      <pubDate>Tue, 04 Oct 2016 04:31:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302240#M64091</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-10-04T04:31:30Z</dc:date>
    </item>
    <item>
      <title>Re: Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302397#M64146</link>
      <description>&lt;P&gt;Yesterday I used your other code and solved it but it was way longer than what you have provided here.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you. It works for me.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Oct 2016 16:45:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302397#M64146</guid>
      <dc:creator>Di_Pat</dc:creator>
      <dc:date>2016-10-04T16:45:04Z</dc:date>
    </item>
    <item>
      <title>Re: Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302398#M64147</link>
      <description>&lt;P&gt;Thank you. This works.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Oct 2016 16:46:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302398#M64147</guid>
      <dc:creator>Di_Pat</dc:creator>
      <dc:date>2016-10-04T16:46:05Z</dc:date>
    </item>
    <item>
      <title>Re: Filling the missing dates in column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302506#M64173</link>
      <description>&lt;PRE&gt;
Yes. There are many ways in SAS can solve the same question.


data have;
input App ModifiedTime anydtdtm32.;
date=datepart(modifiedtime);
format modifiedtime datetime. date date9.;
cards;
001 09/07/16 11:03:08
001 09/08/16 12:26:15
001 09/08/16 11:04:52
001 09/12/16 09:05:10
002 09/01/16 11:03:08
002 09/02/16 12:26:15
002 09/04/16 11:04:52
002 09/09/16 09:05:10
;
run;
data want;
 merge have have(keep=app date rename=(app=_app date=_date) firstobs=2);
 output;
 if app=_app then do;
  do i=date+1 to _date-1;
   modifiedtime=dhms(i,1,1,1);output;
  end;
 end;
drop _: i date;
run;

&lt;/PRE&gt;</description>
      <pubDate>Wed, 05 Oct 2016 03:15:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-the-missing-dates-in-column/m-p/302506#M64173</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-10-05T03:15:14Z</dc:date>
    </item>
  </channel>
</rss>

