<?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: Take last value for missing value(more than 1 missing value) in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Take-last-value-for-missing-value-more-than-1-missing-value/m-p/837524#M331156</link>
    <description>&lt;P&gt;That is want is called Last Observation Carried Forward (LOCF).&lt;/P&gt;
&lt;P&gt;For that data a simple retained variable will work.&amp;nbsp; Note that the retained variable needs to be a NEW variable (not one already in the source dataset) otherwise the retained value is overwritten when the next observation is read.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input Source Output;
cards;
1 1
1 1
1 1
2 2
2 2
. 2
. 2
. 2
4 4
;

data want;
  set have;
  want = coalesce(source,want);
  retain want;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result&lt;/P&gt;
&lt;PRE&gt;Obs    Source    Output    want

 1        1         1        1
 2        1         1        1
 3        1         1        1
 4        2         2        2
 5        2         2        2
 6        .         2        2
 7        .         2        2
 8        .         2        2
 9        4         4        4
&lt;/PRE&gt;</description>
    <pubDate>Sat, 08 Oct 2022 14:50:19 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2022-10-08T14:50:19Z</dc:date>
    <item>
      <title>Take last value for missing value(more than 1 missing value)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Take-last-value-for-missing-value-more-than-1-missing-value/m-p/837523#M331155</link>
      <description>&lt;P&gt;Hi Community,&lt;/P&gt;&lt;P&gt;In my dataset, there are multiple missing values. I want those missing values to be filled with last value. &lt;STRONG&gt;If two or more than two missing value then all consecutive missing values should take last value which existed.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;For ex.&lt;/P&gt;&lt;P&gt;Source Data:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Source&lt;/TD&gt;&lt;TD&gt;Output&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 08 Oct 2022 14:36:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Take-last-value-for-missing-value-more-than-1-missing-value/m-p/837523#M331155</guid>
      <dc:creator>gahlot1999</dc:creator>
      <dc:date>2022-10-08T14:36:50Z</dc:date>
    </item>
    <item>
      <title>Re: Take last value for missing value(more than 1 missing value)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Take-last-value-for-missing-value-more-than-1-missing-value/m-p/837524#M331156</link>
      <description>&lt;P&gt;That is want is called Last Observation Carried Forward (LOCF).&lt;/P&gt;
&lt;P&gt;For that data a simple retained variable will work.&amp;nbsp; Note that the retained variable needs to be a NEW variable (not one already in the source dataset) otherwise the retained value is overwritten when the next observation is read.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input Source Output;
cards;
1 1
1 1
1 1
2 2
2 2
. 2
. 2
. 2
4 4
;

data want;
  set have;
  want = coalesce(source,want);
  retain want;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result&lt;/P&gt;
&lt;PRE&gt;Obs    Source    Output    want

 1        1         1        1
 2        1         1        1
 3        1         1        1
 4        2         2        2
 5        2         2        2
 6        .         2        2
 7        .         2        2
 8        .         2        2
 9        4         4        4
&lt;/PRE&gt;</description>
      <pubDate>Sat, 08 Oct 2022 14:50:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Take-last-value-for-missing-value-more-than-1-missing-value/m-p/837524#M331156</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-10-08T14:50:19Z</dc:date>
    </item>
  </channel>
</rss>

