<?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: Alternative to Proc Expand in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461605#M284810</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/182703"&gt;@bouchbnz&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much for your response.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is a sample of my data:&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;date&lt;/TD&gt;
&lt;TD&gt;time&lt;/TD&gt;
&lt;TD&gt;p1&lt;/TD&gt;
&lt;TD&gt;p2&lt;/TD&gt;
&lt;TD&gt;p3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01/01/2016&lt;/TD&gt;
&lt;TD&gt;08:02:01&lt;/TD&gt;
&lt;TD&gt;3829&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01/01/2016&lt;/TD&gt;
&lt;TD&gt;08:02:46&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01/01/2016&lt;/TD&gt;
&lt;TD&gt;09:02:46&lt;/TD&gt;
&lt;TD&gt;3828&lt;/TD&gt;
&lt;TD&gt;1928&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;02/01/2016&lt;/TD&gt;
&lt;TD&gt;08:04:01&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;02/01/2016&lt;/TD&gt;
&lt;TD&gt;08:10:12&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;02/01/2016&lt;/TD&gt;
&lt;TD&gt;10:10:04&lt;/TD&gt;
&lt;TD&gt;3822&lt;/TD&gt;
&lt;TD&gt;1927&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;02/01/2016&lt;/TD&gt;
&lt;TD&gt;13:02:46&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;03/01/2016&lt;/TD&gt;
&lt;TD&gt;14:02:46&lt;/TD&gt;
&lt;TD&gt;3822&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;03/01/2016&lt;/TD&gt;
&lt;TD&gt;15:02:46&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;1927&lt;/TD&gt;
&lt;TD&gt;1380&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;03/01/2016&lt;/TD&gt;
&lt;TD&gt;16:02:46&lt;/TD&gt;
&lt;TD&gt;3826&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to fill in the "." with the last observed value for p1 - p3. I actually have around 5891 variables (p1-p5981).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;B.&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If I understand correctly you are not filling in missing time (adding obs) just LOCFing the P: variables.&lt;/P&gt;
&lt;P&gt;If that is the case the update trick should work for this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   input date :mmddyy. time :time8. p1 p2 p3;
   format date mmddyy. time time.;
   retain id 1;
   cards; 
01/01/2016 08:02:01 3829 . . 
01/01/2016 08:02:46 . . . 
01/01/2016 09:02:46 3828 1928 . 
02/01/2016 08:04:01 . . . 
02/01/2016 08:10:12 . . . 
02/01/2016 10:10:04 3822 1927 . 
02/01/2016 13:02:46 . . . 
03/01/2016 14:02:46 3822 . . 
03/01/2016 15:02:46 . 1927 1380 
03/01/2016 16:02:46 3826 . . 
;;;;
   run;
proc print;
   run;
data want;
   update have(obs=0 keep=id) have;
   by id;
   output;
   run;
proc print;
   run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/20466iC20EAD5BD8583365/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 11 May 2018 16:39:14 GMT</pubDate>
    <dc:creator>data_null__</dc:creator>
    <dc:date>2018-05-11T16:39:14Z</dc:date>
    <item>
      <title>Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461560#M284805</link>
      <description>&lt;P&gt;Hello SAS community,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope you are well.&lt;/P&gt;&lt;P&gt;I am trying to create fill-in missing variables with their&amp;nbsp;most recent values. The way I am trying to do it now is using this code:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc expand data=Price1 out=PriceDay 
	to=second method=step;
	id time;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;But since I do no longer have SAS/ETS, so I won't be able to use proc expand.&lt;/P&gt;&lt;P&gt;Any suggestions for an alternative?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;B.&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 14:39:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461560#M284805</guid>
      <dc:creator>bouchbnz</dc:creator>
      <dc:date>2018-05-11T14:39:34Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461563#M284806</link>
      <description>&lt;P&gt;You can find some alternatives in the post at:&amp;nbsp;&lt;A href="http://www.sascommunity.org/planet/blog/category/proc-expand/" target="_blank"&gt;http://www.sascommunity.org/planet/blog/category/proc-expand/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 14:52:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461563#M284806</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2018-05-11T14:52:35Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461573#M284807</link>
      <description>&lt;P&gt;Hello Art,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for the quick response. It will definitely be useful since I am planning to do MA calculations.&lt;/P&gt;&lt;P&gt;I am not too familiar with PROC SQL, though. I am not too sure how I could fill in my data with the last recorded values using PROC SQL.&lt;/P&gt;&lt;P&gt;Would it be similar to data ... set ... retain... if not missing... procedure?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;B.&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;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 15:24:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461573#M284807</guid>
      <dc:creator>bouchbnz</dc:creator>
      <dc:date>2018-05-11T15:24:36Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461592#M284808</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/182703"&gt;@bouchbnz&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hello SAS community,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope you are well.&lt;/P&gt;
&lt;P&gt;I am trying to create fill-in missing variables with their&amp;nbsp;most recent values. The way I am trying to do it now is using this code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc expand data=Price1 out=PriceDay 
	to=second method=step;
	id time;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;But since I do no longer have SAS/ETS, so I won't be able to use proc expand.&lt;/P&gt;
&lt;P&gt;Any suggestions for an alternative?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much in advance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;B.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Show an example of your data.&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 16:07:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461592#M284808</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2018-05-11T16:07:02Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461597#M284809</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for your response.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is a sample of my data:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;p1&lt;/TD&gt;&lt;TD&gt;p2&lt;/TD&gt;&lt;TD&gt;p3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/01/2016&lt;/TD&gt;&lt;TD&gt;08:02:01&lt;/TD&gt;&lt;TD&gt;3829&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/01/2016&lt;/TD&gt;&lt;TD&gt;08:02:46&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/01/2016&lt;/TD&gt;&lt;TD&gt;09:02:46&lt;/TD&gt;&lt;TD&gt;3828&lt;/TD&gt;&lt;TD&gt;1928&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/01/2016&lt;/TD&gt;&lt;TD&gt;08:04:01&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/01/2016&lt;/TD&gt;&lt;TD&gt;08:10:12&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/01/2016&lt;/TD&gt;&lt;TD&gt;10:10:04&lt;/TD&gt;&lt;TD&gt;3822&lt;/TD&gt;&lt;TD&gt;1927&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02/01/2016&lt;/TD&gt;&lt;TD&gt;13:02:46&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03/01/2016&lt;/TD&gt;&lt;TD&gt;14:02:46&lt;/TD&gt;&lt;TD&gt;3822&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03/01/2016&lt;/TD&gt;&lt;TD&gt;15:02:46&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1927&lt;/TD&gt;&lt;TD&gt;1380&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;03/01/2016&lt;/TD&gt;&lt;TD&gt;16:02:46&lt;/TD&gt;&lt;TD&gt;3826&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to fill in the "." with the last observed value for p1 - p3. I actually have around 5891 variables (p1-p5981).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;B.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 16:20:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461597#M284809</guid>
      <dc:creator>bouchbnz</dc:creator>
      <dc:date>2018-05-11T16:20:12Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461605#M284810</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/182703"&gt;@bouchbnz&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you very much for your response.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is a sample of my data:&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;date&lt;/TD&gt;
&lt;TD&gt;time&lt;/TD&gt;
&lt;TD&gt;p1&lt;/TD&gt;
&lt;TD&gt;p2&lt;/TD&gt;
&lt;TD&gt;p3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01/01/2016&lt;/TD&gt;
&lt;TD&gt;08:02:01&lt;/TD&gt;
&lt;TD&gt;3829&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01/01/2016&lt;/TD&gt;
&lt;TD&gt;08:02:46&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;01/01/2016&lt;/TD&gt;
&lt;TD&gt;09:02:46&lt;/TD&gt;
&lt;TD&gt;3828&lt;/TD&gt;
&lt;TD&gt;1928&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;02/01/2016&lt;/TD&gt;
&lt;TD&gt;08:04:01&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;02/01/2016&lt;/TD&gt;
&lt;TD&gt;08:10:12&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;02/01/2016&lt;/TD&gt;
&lt;TD&gt;10:10:04&lt;/TD&gt;
&lt;TD&gt;3822&lt;/TD&gt;
&lt;TD&gt;1927&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;02/01/2016&lt;/TD&gt;
&lt;TD&gt;13:02:46&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;03/01/2016&lt;/TD&gt;
&lt;TD&gt;14:02:46&lt;/TD&gt;
&lt;TD&gt;3822&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;03/01/2016&lt;/TD&gt;
&lt;TD&gt;15:02:46&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;1927&lt;/TD&gt;
&lt;TD&gt;1380&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;03/01/2016&lt;/TD&gt;
&lt;TD&gt;16:02:46&lt;/TD&gt;
&lt;TD&gt;3826&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to fill in the "." with the last observed value for p1 - p3. I actually have around 5891 variables (p1-p5981).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;B.&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If I understand correctly you are not filling in missing time (adding obs) just LOCFing the P: variables.&lt;/P&gt;
&lt;P&gt;If that is the case the update trick should work for this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   input date :mmddyy. time :time8. p1 p2 p3;
   format date mmddyy. time time.;
   retain id 1;
   cards; 
01/01/2016 08:02:01 3829 . . 
01/01/2016 08:02:46 . . . 
01/01/2016 09:02:46 3828 1928 . 
02/01/2016 08:04:01 . . . 
02/01/2016 08:10:12 . . . 
02/01/2016 10:10:04 3822 1927 . 
02/01/2016 13:02:46 . . . 
03/01/2016 14:02:46 3822 . . 
03/01/2016 15:02:46 . 1927 1380 
03/01/2016 16:02:46 3826 . . 
;;;;
   run;
proc print;
   run;
data want;
   update have(obs=0 keep=id) have;
   by id;
   output;
   run;
proc print;
   run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/20466iC20EAD5BD8583365/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 16:39:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461605#M284810</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2018-05-11T16:39:14Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461635#M284811</link>
      <description>&lt;P&gt;Yes, exactly, I am need the last observed value carried forward.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you. I will try it on my data and let you know. It might take time as I have a heavy data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks data_null__!&lt;/P&gt;&lt;P&gt;Much appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;B.&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 17:41:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461635#M284811</guid>
      <dc:creator>bouchbnz</dc:creator>
      <dc:date>2018-05-11T17:41:41Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461646#M284812</link>
      <description>&lt;P&gt;Note if your data is grouped (BY variables) use those in the BY statement.&amp;nbsp; This will reset the LOCFing each time the BY group changes.&amp;nbsp;This also works to carry forward character variables.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have variables that you don't want to LOCF use the following example and read those variables with a SET statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   if 0 then set have;
   update have(obs=0 keep=id) have(drop=p2);
   by id;
   set have(keep=p2);
   output;
   run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 11 May 2018 17:57:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461646#M284812</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2018-05-11T17:57:12Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461674#M284813</link>
      <description>&lt;P&gt;Thank you data_null__! I will try and see!&lt;/P&gt;&lt;P&gt;Thank you ever so much.&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 19:15:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461674#M284813</guid>
      <dc:creator>bouchbnz</dc:creator>
      <dc:date>2018-05-11T19:15:59Z</dc:date>
    </item>
    <item>
      <title>Re: Alternative to Proc Expand</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461826#M284814</link>
      <description>&lt;P&gt;Sorry for the late reply data_null__! It worked.&lt;/P&gt;&lt;P&gt;Thank you ever so much!&lt;/P&gt;</description>
      <pubDate>Sun, 13 May 2018 10:48:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Alternative-to-Proc-Expand/m-p/461826#M284814</guid>
      <dc:creator>bouchbnz</dc:creator>
      <dc:date>2018-05-13T10:48:08Z</dc:date>
    </item>
  </channel>
</rss>

