<?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: Replace missing values with multiple values in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433196#M107382</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ColA $ ColB $ ColC $ Diff;
cards;
A B C 1
A B C 2
A B C 4
D E F 1
D E F 3
D E F 4
T U V 1 
T U V 5
;
run;

proc sort data=have out=_have ;
by ColA ColB ColC descending diff;
run;

data want;
set _have;
by ColA ColB ColC;
if first.ColA and first.Colb  and first.Colc then  do diff=1 to diff;
output;
end;
else return;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 01 Feb 2018 17:38:01 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2018-02-01T17:38:01Z</dc:date>
    <item>
      <title>Replace missing values with multiple values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433109#M107351</link>
      <description>&lt;P&gt;I have been struggling with this.&amp;nbsp; I have sequential data that is missing some rows...and I need to fill them in.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have:&lt;/P&gt;&lt;P&gt;ColA&amp;nbsp; ColB&amp;nbsp; ColC&amp;nbsp; Diff&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp; 4&lt;/P&gt;&lt;P&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I want:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;ColA&amp;nbsp; ColB&amp;nbsp; ColC&amp;nbsp; Diff&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp; 4&lt;/P&gt;&lt;P&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;2&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;4&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2018 14:15:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433109#M107351</guid>
      <dc:creator>Jarious</dc:creator>
      <dc:date>2018-02-01T14:15:33Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing values with multiple values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433110#M107352</link>
      <description>&lt;P&gt;It's tough to generalize from your example.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do you always want 4 rows? Or do you want the number of rows to be flexible based on the input data?&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2018 14:21:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433110#M107352</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-02-01T14:21:26Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing values with multiple values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433111#M107353</link>
      <description>&lt;P&gt;Flexible ..the length could go on for a while.&amp;nbsp; I wanted to show a simple example.&amp;nbsp; I have many missing rows and need to fill them in with the information from the previous row.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2018 14:23:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433111#M107353</guid>
      <dc:creator>Jarious</dc:creator>
      <dc:date>2018-02-01T14:23:31Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing values with multiple values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433116#M107355</link>
      <description>&lt;P&gt;See this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ColA $ ColB $ ColC $ Diff;
cards;
A B C 1
A B C 2
A B C 4
D E F 1
D E F 3
D E F 4
;
run;

data want (drop=ldif);
set have;
by cola colb colc;
ldif = lag(diff);
if not first.colc then do diff = ldif + 1 to diff;
  output;
end;
else output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 01 Feb 2018 14:34:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433116#M107355</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-02-01T14:34:37Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing values with multiple values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433135#M107363</link>
      <description>&lt;P&gt;I think this is what you are asking for:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;prior_a = lag(a);&lt;/P&gt;
&lt;P&gt;prior_b = lag(b);&lt;/P&gt;
&lt;P&gt;prior_c = lag(c);&lt;/P&gt;
&lt;P&gt;skip = dif(diff);&lt;/P&gt;
&lt;P&gt;if skip &amp;lt;= 1 then output;&lt;/P&gt;
&lt;P&gt;else do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; temp_a = a;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; temp_b = b;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; temp_c = c;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; a = prior_a;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; b = prior_b;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; c = prior_c;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; do diff = (diff - skip + 1) to (diff - 1);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; a = temp_a;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; b = temp_b;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; c = temp_c;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;drop prior_: temp_: skip;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's untested, so if it needs a little tweaking just ask.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2018 15:22:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433135#M107363</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-02-01T15:22:23Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing values with multiple values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433178#M107380</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/89557"&gt;@Jarious&lt;/a&gt;&amp;nbsp;What about the &lt;STRONG&gt;&lt;EM&gt;possibility of&lt;/EM&gt;&lt;/STRONG&gt; :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have:&lt;/P&gt;&lt;P&gt;ColA&amp;nbsp; ColB&amp;nbsp; ColC&amp;nbsp; Diff&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C&amp;nbsp; &amp;nbsp; &amp;nbsp; 4&lt;/P&gt;&lt;P&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;E&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;F&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;T&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;U&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;V&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &lt;EM&gt;/*is this possible ?*/&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;T&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;U&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;V&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5/&lt;EM&gt;*is this possible ?*/&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2018 16:57:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433178#M107380</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-02-01T16:57:56Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing values with multiple values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433196#M107382</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ColA $ ColB $ ColC $ Diff;
cards;
A B C 1
A B C 2
A B C 4
D E F 1
D E F 3
D E F 4
T U V 1 
T U V 5
;
run;

proc sort data=have out=_have ;
by ColA ColB ColC descending diff;
run;

data want;
set _have;
by ColA ColB ColC;
if first.ColA and first.Colb  and first.Colc then  do diff=1 to diff;
output;
end;
else return;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 01 Feb 2018 17:38:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433196#M107382</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-02-01T17:38:01Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing values with multiple values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433523#M107486</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ColA $ ColB $ ColC $ Diff;
cards;
A B C 1
A B C 2
A B C 4
D E F 1
D E F 3
D E F 4
;
run;
data want;
 merge have have(rename=(cola=_cola colb=_colb colc=_colc diff=_diff) firstobs=2);
 output;
 if cola=_cola and colb=_colb and colc=_colc  then do;
  do i=diff+1 to _diff-1;
   diff=i;output;
  end;
 end;
 drop _: i;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 02 Feb 2018 13:59:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-values-with-multiple-values/m-p/433523#M107486</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-02-02T13:59:00Z</dc:date>
    </item>
  </channel>
</rss>

