<?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: Fill in gaps in a monthly array in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-gaps-in-a-monthly-array/m-p/938042#M368514</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input ID $ 	Mo_1 	Mo_2 	Mo_3 	Mo_4 	Mo_5 	Mo_6 	Mo_7 	Mo_8 	Mo_9 	Mo_10 	Mo_11 	Mo_12 	Mo_13 	Mo_14 	Mo_15 	Mo_16 	Mo_17 	Mo_18 	Mo_19 	Mo_20;
datalines;
a 	. 	. 	3 	3 	3 	3 	. 	. 	. 	3 	3.2 	3.3 	. 	3.4 	3.3 	3.2 	3.2 	3.2 	. 	.
b 	0 	0 	. 	0 	0.2 	0.2 	0.2 	0.2 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	0.3
c 	. 	2 	2 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	2 	. 	.
d 	0.3 	0.3 	0.3 	0.3 	0.3 	0.3 	0.3 	0.3 	. 	. 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6
e 	. 	. 	. 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2
f 	4 	. 	. 	. 	3 	3 	. 	3.2 	. 	3.2 	. 	. 	. 	3.3 	3.4 	4 	. 	. 	. 	3.2
g 	. 	. 	. 	. 	. 	. 	. 	. 	. 	0 	0 	. 	0 	0 	0 	0 	0 	0 	0 	0
;
proc transpose data=have out=temp;
by id;
var Mo_:;
run;
data temp2;
 set temp;
 missing=missing(col1);
run;
data temp3;
 set temp2;
 by id missing notsorted;
 if first.id then group=0;
 if first.missing then group+1;

 lag_col1=lag(col1);
 lag_name_=lag(_name_);
 if first.id then call missing(lag_col1,lag_name_);
run;
data temp4;
 merge temp3 temp3(keep=id _name_ col1 rename=(id=_id _name_=next_name_ col1=next_col1) firstobs=2);
 if id ne _id then call missing(next_name_,next_col1);
 drop _id;
run;
data temp5;
do gap_length=1 by 1 until(last.group);
 set temp4;
 by id group;
 if first.group then do;start_mo=lag_name_;start_val=lag_col1;end;
 if last.group then do;end_mo=next_name_;end_val=next_col1;end;
end;
if missing;
keep gap_length id group start_mo end_mo  start_val end_val;
run;
data temp6;
 set temp5;
 mean=mean(start_val,end_val);
 if not missing(start_val) and not missing(end_val);
run;
data want;
 set temp6;
 by id;
 if first.id then gap_num=0;
 gap_num+1;
run;


data temp7;
 merge temp3 want(keep=id group mean);
 by id group;
 col1=coalesce(col1,mean);
 keep id _name_ col1;
run;
proc transpose data=temp7 out=want2(drop=_name_);
by id ;
id _name_;
var col1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 02 Aug 2024 02:21:49 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2024-08-02T02:21:49Z</dc:date>
    <item>
      <title>Fill in gaps in a monthly array</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-gaps-in-a-monthly-array/m-p/938004#M368494</link>
      <description>&lt;P&gt;I have a very wide and very long table of monthly risk scores for clients that looks something like this:&lt;/P&gt;
&lt;TABLE width="1364"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="68"&gt;Mo_1&lt;/TD&gt;
&lt;TD width="68"&gt;Mo_2&lt;/TD&gt;
&lt;TD width="76"&gt;Mo_3&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_4&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_5&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_6&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_7&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_8&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_9&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_10&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_11&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_12&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_13&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_14&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_15&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_16&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_17&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_18&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_19&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;a&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.3&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;3.4&lt;/TD&gt;
&lt;TD&gt;3.3&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;b&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;c&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;d&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;e&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;f&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;3.3&lt;/TD&gt;
&lt;TD&gt;3.4&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;g&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the first column being the client's ID and the subsequent columns being their risk score for that given month.&amp;nbsp; The table above is much smaller than the actual one I am working with obviously. There are many more months and clients in the real data set.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to do two things with these data. The first is to create a table that summarizes any gaps between months that have a value.&amp;nbsp; I want it to look something like this:&lt;/P&gt;
&lt;TABLE width="532"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="68"&gt;Gap_Num&lt;/TD&gt;
&lt;TD width="68"&gt;Gap_length&lt;/TD&gt;
&lt;TD width="76"&gt;Start_Mo&lt;/TD&gt;
&lt;TD width="64"&gt;End_Mo&lt;/TD&gt;
&lt;TD width="64"&gt;Start_Val&lt;/TD&gt;
&lt;TD width="64"&gt;End_Val&lt;/TD&gt;
&lt;TD width="64"&gt;Mean&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;a&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;Mo_6&lt;/TD&gt;
&lt;TD&gt;Mo_10&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;a&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Mo_12&lt;/TD&gt;
&lt;TD&gt;Mo_14&lt;/TD&gt;
&lt;TD&gt;3.3&lt;/TD&gt;
&lt;TD&gt;3.4&lt;/TD&gt;
&lt;TD&gt;3.35&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;b&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Mo_2&lt;/TD&gt;
&lt;TD&gt;Mo_4&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;b&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;Mo_8&lt;/TD&gt;
&lt;TD&gt;Mo_19&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;c&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;Mo_3&lt;/TD&gt;
&lt;TD&gt;Mo_18&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;d&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;Mo_8&lt;/TD&gt;
&lt;TD&gt;Mo_11&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.45&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;f&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;Mo_1&lt;/TD&gt;
&lt;TD&gt;Mo_5&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;f&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Mo_6&lt;/TD&gt;
&lt;TD&gt;Mo_8&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;f&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Mo_8&lt;/TD&gt;
&lt;TD&gt;Mo_10&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;f&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;Mo_10&lt;/TD&gt;
&lt;TD&gt;Mo_14&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.3&lt;/TD&gt;
&lt;TD&gt;3.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;f&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;Mo_16&lt;/TD&gt;
&lt;TD&gt;Mo_20&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;g&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;Mo_11&lt;/TD&gt;
&lt;TD&gt;Mo_13&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Where each gap is listed for each client along with the size of the gap, the month before the gap began, the month after the gap ended, the risk scores for those months and the average of those risk scores.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The second thing would be to go in and fill the gaps with mean risk scores calculated above. The table below shows the filled in gaps in red font.&lt;/P&gt;
&lt;TABLE width="1364"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="68"&gt;Mo_1&lt;/TD&gt;
&lt;TD width="68"&gt;Mo_2&lt;/TD&gt;
&lt;TD width="76"&gt;Mo_3&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_4&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_5&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_6&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_7&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_8&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_9&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_10&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_11&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_12&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_13&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_14&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_15&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_16&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_17&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_18&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_19&lt;/TD&gt;
&lt;TD width="64"&gt;Mo_20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;a&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.3&lt;/TD&gt;
&lt;TD&gt;3.35&lt;/TD&gt;
&lt;TD&gt;3.4&lt;/TD&gt;
&lt;TD&gt;3.3&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;b&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.2&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.25&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;c&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;d&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.3&lt;/TD&gt;
&lt;TD&gt;0.45&lt;/TD&gt;
&lt;TD&gt;0.45&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;TD&gt;0.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;e&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;TD&gt;2.2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;f&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;3.5&lt;/TD&gt;
&lt;TD&gt;3.5&lt;/TD&gt;
&lt;TD&gt;3.5&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;3.1&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;TD&gt;3.25&lt;/TD&gt;
&lt;TD&gt;3.25&lt;/TD&gt;
&lt;TD&gt;3.25&lt;/TD&gt;
&lt;TD&gt;3.3&lt;/TD&gt;
&lt;TD&gt;3.4&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;3.6&lt;/TD&gt;
&lt;TD&gt;3.6&lt;/TD&gt;
&lt;TD&gt;3.6&lt;/TD&gt;
&lt;TD&gt;3.2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;g&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&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;&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;
&lt;P&gt;Thanks in advance.&amp;nbsp; Any help would be appreciated.&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;
&lt;P&gt;Marc&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;
&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>Thu, 01 Aug 2024 19:26:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fill-in-gaps-in-a-monthly-array/m-p/938004#M368494</guid>
      <dc:creator>ModeratelyWise</dc:creator>
      <dc:date>2024-08-01T19:26:44Z</dc:date>
    </item>
    <item>
      <title>Re: Fill in gaps in a monthly array</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-gaps-in-a-monthly-array/m-p/938005#M368495</link>
      <description>&lt;TABLE width="1364"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="63.875px" height="30px"&gt;ID&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;Mo_1&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;Mo_2&lt;/TD&gt;
&lt;TD width="76.0469px" height="30px"&gt;Mo_3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_4&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_5&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_6&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_7&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_8&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_9&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_10&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_11&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_12&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_13&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_14&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_15&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_16&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_17&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_18&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;Mo_19&lt;/TD&gt;
&lt;TD width="65.2031px" height="30px"&gt;Mo_20&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="63.875px" height="30px"&gt;a&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="76.0469px" height="30px"&gt;3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.35&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.4&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="65.2031px" height="30px"&gt;-&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="63.875px" height="30px"&gt;b&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="76.0469px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="65.2031px" height="30px"&gt;0.3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="63.875px" height="30px"&gt;c&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;2&lt;/TD&gt;
&lt;TD width="76.0469px" height="30px"&gt;2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="65.2031px" height="30px"&gt;-&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="63.875px" height="30px"&gt;d&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;0.3&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;0.3&lt;/TD&gt;
&lt;TD width="76.0469px" height="30px"&gt;0.3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.45&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0.45&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;TD width="65.2031px" height="30px"&gt;0.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="63.875px" height="30px"&gt;e&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="76.0469px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;TD width="65.2031px" height="30px"&gt;2.2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="63.875px" height="30px"&gt;f&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;4&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.5&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="76.0469px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.5&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.5&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.1&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.2&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.25&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.3&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;3.4&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;4&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.6&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.6&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;3.6&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="65.2031px" height="30px"&gt;3.2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="63.875px" height="30px"&gt;g&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="67.9375px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="76.0469px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;-&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;&lt;FONT color="#FF0000"&gt;0&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="63.875px" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="65.2031px" height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Thu, 01 Aug 2024 19:39:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fill-in-gaps-in-a-monthly-array/m-p/938005#M368495</guid>
      <dc:creator>ModeratelyWise</dc:creator>
      <dc:date>2024-08-01T19:39:38Z</dc:date>
    </item>
    <item>
      <title>Re: Fill in gaps in a monthly array</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-gaps-in-a-monthly-array/m-p/938018#M368500</link>
      <description>&lt;P&gt;Please provide starting data in the form of a working data step pasted into a text box opened with the &amp;lt;/&amp;gt; icon above the message window such as:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
  input ID $ 	Mo_1 	Mo_2 	Mo_3 	Mo_4 	Mo_5 	Mo_6 	Mo_7 	Mo_8 	Mo_9 	Mo_10 	Mo_11 	Mo_12 	Mo_13 	Mo_14 	Mo_15 	Mo_16 	Mo_17 	Mo_18 	Mo_19 	Mo_20;
datalines;
a 	. 	. 	3 	3 	3 	3 	. 	. 	. 	3 	3.2 	3.3 	. 	3.4 	3.3 	3.2 	3.2 	3.2 	. 	.
b 	0 	0 	. 	0 	0.2 	0.2 	0.2 	0.2 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	0.3
c 	. 	2 	2 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	2 	. 	.
d 	0.3 	0.3 	0.3 	0.3 	0.3 	0.3 	0.3 	0.3 	. 	. 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6
e 	. 	. 	. 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2
f 	4 	. 	. 	. 	3 	3 	. 	3.2 	. 	3.2 	. 	. 	. 	3.3 	3.4 	4 	. 	. 	. 	3.2
g 	. 	. 	. 	. 	. 	. 	. 	. 	. 	0 	0 	. 	0 	0 	0 	0 	0 	0 	0 	0
;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;No need for the table with the "gap" information.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data want;
   set have;
   array m(*) mo:;
   do i= 1 to ( dim(m) - 1 );
      if not missing(m[i]) and missing(m[i+1]) and missing(gapstart) then gapstart= i+1;
      if missing(m[i]) and not missing(m[i+1]) and not missing(gapstart) then gapend = i;
      if gapstart and gapend then do;
         
         do k= gapstart to gapend;
            m[k] = mean(m[gapstart-1],m[gapend+1]);
         end;
         call missing (gapstart,gapend);
      end;

   end;
   drop i k gapstart gapend;
run;&lt;/PRE&gt;
&lt;P&gt;The above identifies the start and ends of the gaps uses that information after it is determined to calculate the mean of the endpoints.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2024 21:36:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fill-in-gaps-in-a-monthly-array/m-p/938018#M368500</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2024-08-01T21:36:39Z</dc:date>
    </item>
    <item>
      <title>Re: Fill in gaps in a monthly array</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-gaps-in-a-monthly-array/m-p/938042#M368514</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input ID $ 	Mo_1 	Mo_2 	Mo_3 	Mo_4 	Mo_5 	Mo_6 	Mo_7 	Mo_8 	Mo_9 	Mo_10 	Mo_11 	Mo_12 	Mo_13 	Mo_14 	Mo_15 	Mo_16 	Mo_17 	Mo_18 	Mo_19 	Mo_20;
datalines;
a 	. 	. 	3 	3 	3 	3 	. 	. 	. 	3 	3.2 	3.3 	. 	3.4 	3.3 	3.2 	3.2 	3.2 	. 	.
b 	0 	0 	. 	0 	0.2 	0.2 	0.2 	0.2 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	0.3
c 	. 	2 	2 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	2 	. 	.
d 	0.3 	0.3 	0.3 	0.3 	0.3 	0.3 	0.3 	0.3 	. 	. 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6 	0.6
e 	. 	. 	. 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2 	2.2
f 	4 	. 	. 	. 	3 	3 	. 	3.2 	. 	3.2 	. 	. 	. 	3.3 	3.4 	4 	. 	. 	. 	3.2
g 	. 	. 	. 	. 	. 	. 	. 	. 	. 	0 	0 	. 	0 	0 	0 	0 	0 	0 	0 	0
;
proc transpose data=have out=temp;
by id;
var Mo_:;
run;
data temp2;
 set temp;
 missing=missing(col1);
run;
data temp3;
 set temp2;
 by id missing notsorted;
 if first.id then group=0;
 if first.missing then group+1;

 lag_col1=lag(col1);
 lag_name_=lag(_name_);
 if first.id then call missing(lag_col1,lag_name_);
run;
data temp4;
 merge temp3 temp3(keep=id _name_ col1 rename=(id=_id _name_=next_name_ col1=next_col1) firstobs=2);
 if id ne _id then call missing(next_name_,next_col1);
 drop _id;
run;
data temp5;
do gap_length=1 by 1 until(last.group);
 set temp4;
 by id group;
 if first.group then do;start_mo=lag_name_;start_val=lag_col1;end;
 if last.group then do;end_mo=next_name_;end_val=next_col1;end;
end;
if missing;
keep gap_length id group start_mo end_mo  start_val end_val;
run;
data temp6;
 set temp5;
 mean=mean(start_val,end_val);
 if not missing(start_val) and not missing(end_val);
run;
data want;
 set temp6;
 by id;
 if first.id then gap_num=0;
 gap_num+1;
run;


data temp7;
 merge temp3 want(keep=id group mean);
 by id group;
 col1=coalesce(col1,mean);
 keep id _name_ col1;
run;
proc transpose data=temp7 out=want2(drop=_name_);
by id ;
id _name_;
var col1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 02 Aug 2024 02:21:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fill-in-gaps-in-a-monthly-array/m-p/938042#M368514</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2024-08-02T02:21:49Z</dc:date>
    </item>
  </channel>
</rss>

