<?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 records in a column in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703775#M215692</link>
    <description>&lt;P&gt;It looks like this data should have an ID variable, which would change everytime SEQ=1.&amp;nbsp; Does it?&lt;/P&gt;</description>
    <pubDate>Sat, 05 Dec 2020 04:57:06 GMT</pubDate>
    <dc:creator>mkeintz</dc:creator>
    <dc:date>2020-12-05T04:57:06Z</dc:date>
    <item>
      <title>Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703488#M215555</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset which has missing values in a column. If the missing value is in the first cell of the column it will be equal to the next value available. If the missing value is in 3rd, 4th, 5th cell, then the 3rd value will be equal to (2/3)rd of 2nd val and (1/3)rd of 6th cell, 4th value is 50% of each and so on. can someone help?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thank you.&lt;/P&gt;</description>
      <pubDate>Thu, 03 Dec 2020 19:35:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703488#M215555</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-03T19:35:11Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703493#M215557</link>
      <description>Please show some example data with the expected output please.</description>
      <pubDate>Thu, 03 Dec 2020 20:07:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703493#M215557</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-12-03T20:07:50Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703519#M215570</link>
      <description>&lt;P&gt;Is this done for more than one column?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is it done once&amp;nbsp;for the whole dataset, or once per id group in the dataset?&lt;/P&gt;</description>
      <pubDate>Thu, 03 Dec 2020 22:44:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703519#M215570</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-12-03T22:44:07Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703768#M215689</link>
      <description>&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;BUILD_DT&lt;/TD&gt;&lt;TD&gt;PERIOD&lt;/TD&gt;&lt;TD&gt;SEQ&lt;/TD&gt;&lt;TD&gt;DU_CHNG&lt;/TD&gt;&lt;TD&gt;YIELD_CHNG&lt;/TD&gt;&lt;TD&gt;Expected Output&lt;/TD&gt;&lt;TD&gt;LOGIC TO FILL THE VALUE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;3_MONTH&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.134371656&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;3.689629437&lt;/TD&gt;&lt;TD&gt;same as first available data&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;2_YEAR&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0.215742831&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;3.689629437&lt;/TD&gt;&lt;TD&gt;same as first available data&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;20_YEAR&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1.095695432&lt;/TD&gt;&lt;TD&gt;3.689629437&lt;/TD&gt;&lt;TD&gt;3.689629437&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;6_MONTH&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.15222889&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;same as first available data&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;1_YEAR&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0.178037173&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;3_YEAR&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0.253467586&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;0.934979885&lt;/TD&gt;&lt;TD&gt;50%of previous value + 50% of next value&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;4_YEAR&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0.297898502&lt;/TD&gt;&lt;TD&gt;1.214723719&lt;/TD&gt;&lt;TD&gt;1.214723719&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;5_YEAR&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0.348219383&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1.476339748&lt;/TD&gt;&lt;TD&gt;50%of previous value + 50% of next value&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;7_YEAR&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;0.464638383&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;10_YEAR&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;0.652956401&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;same as the last data&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;3_MONTH&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;-0.638004856&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;-0.371114946&lt;/TD&gt;&lt;TD&gt;same as first available data&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;6_MONTH&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;-0.633071866&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;-0.371114946&lt;/TD&gt;&lt;TD&gt;same as first available data&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;1_YEAR&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;-0.659459184&lt;/TD&gt;&lt;TD&gt;-0.371114946&lt;/TD&gt;&lt;TD&gt;-0.371114946&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;2_YEAR&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;-0.70961743&lt;/TD&gt;&lt;TD&gt;-0.214424417&lt;/TD&gt;&lt;TD&gt;-0.214424417&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;3_YEAR&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;-0.73634249&lt;/TD&gt;&lt;TD&gt;-0.110308306&lt;/TD&gt;&lt;TD&gt;-0.110308306&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;4_YEAR&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;-0.738953144&lt;/TD&gt;&lt;TD&gt;0.052784926&lt;/TD&gt;&lt;TD&gt;0.052784926&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;5_YEAR&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;-0.721453755&lt;/TD&gt;&lt;TD&gt;0.198813346&lt;/TD&gt;&lt;TD&gt;0.198813346&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;7_YEAR&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;-0.652077083&lt;/TD&gt;&lt;TD&gt;0.4472606&lt;/TD&gt;&lt;TD&gt;0.4472606&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;10_YEAR&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;-0.516890161&lt;/TD&gt;&lt;TD&gt;1.011691712&lt;/TD&gt;&lt;TD&gt;1.011691712&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;20_YEAR&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;-0.212190089&lt;/TD&gt;&lt;TD&gt;2.050067817&lt;/TD&gt;&lt;TD&gt;2.050067817&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;3_MONTH&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.086031742&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;0.361956941&lt;/TD&gt;&lt;TD&gt;same as first available data&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;6_MONTH&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0.10557385&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;0.361956941&lt;/TD&gt;&lt;TD&gt;same as first available data&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;30-Dec-19&lt;/TD&gt;&lt;TD&gt;1_YEAR&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0.12990416&lt;/TD&gt;&lt;TD&gt;0.361956941&lt;/TD&gt;&lt;TD&gt;0.361956941&lt;/TD&gt;&lt;TD&gt;ALREADY AVAILABLE&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sat, 05 Dec 2020 03:21:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703768#M215689</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-05T03:21:10Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703769#M215690</link>
      <description>&lt;P&gt;it is required to be done only for 1 column. the logic should pick the 'seq' column, if the first value in the sequence is missing, it should populated the next available missing value. if the sequence is of 7 numbers and values between 2-7 are missing, then&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;3rd value will be 80% of previous value and 20% of next&lt;/LI&gt;&lt;LI&gt;4th value should be 60% of previous actual value and 40% of next actual value&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;and so on.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 05 Dec 2020 03:26:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703769#M215690</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-05T03:26:09Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703775#M215692</link>
      <description>&lt;P&gt;It looks like this data should have an ID variable, which would change everytime SEQ=1.&amp;nbsp; Does it?&lt;/P&gt;</description>
      <pubDate>Sat, 05 Dec 2020 04:57:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703775#M215692</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-12-05T04:57:06Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703862#M215712</link>
      <description>&lt;P&gt;All the data is for a single date, 31dec 2019. as of now, there is no id variable here.&lt;/P&gt;</description>
      <pubDate>Sat, 05 Dec 2020 16:42:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703862#M215712</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-05T16:42:56Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703873#M215716</link>
      <description>&lt;P&gt;I had to struggle with your problem description, but here's what I cam up with;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In a series beginning with SEQ=1 through some upper limit you can have missing values for YIELD_CHNG.&amp;nbsp; These missing values, which can be single or consecutive, fall in 3 types of "holes"&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Leading hole.&amp;nbsp; &amp;nbsp;Replace the missing value with a constant taken from the first non-missing value.&lt;/LI&gt;
&lt;LI&gt;Trailing hole.&amp;nbsp; Replace the missing value with a constant taken from the latest non-missing value.&lt;/LI&gt;
&lt;LI&gt;Interior hole.&amp;nbsp; Replace the missing value with a straight line estimate based on the contiguous non-missing values preceding and succeeding the hole.&amp;nbsp; This is the part that I had to speculate is your intent.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Each series begins with SEQ=1, but the series do not have any identifier, so the program below generates a temporary identifier - &lt;EM&gt;&lt;STRONG&gt;_seq_series&lt;/STRONG&gt;&lt;/EM&gt;, which can be used as a by-variable in the proc transpose.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is code that should work as per my description of your problem:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input   BUILD_DT :date9.	PERIOD :$8.  SEQ	DU_CHNG	YIELD_CHNG Expected_Output;
format build_dt date9. ;
  /*LOGIC TO FILL THE VALUE*/
datalines;
30-Dec-19	3_MONTH	1	 0.134371656	 .			 3.689629437
30-Dec-19	2_YEAR	2	 0.215742831	 .			 3.689629437
30-Dec-19	20_YEAR	3	 1.095695432	3.689629437	 3.689629437
30-Dec-19	6_MONTH	1	 0.15222889		 .			 0.65523605
30-Dec-19	1_YEAR	2	 0.178037173	0.65523605	 0.65523605
30-Dec-19	3_YEAR	3	 0.253467586	 .			 0.934979885
30-Dec-19	4_YEAR	4	 0.297898502	1.214723719	 1.214723719
30-Dec-19	5_YEAR	5	 0.348219383	 .			 1.476339748
30-Dec-19	7_YEAR	6	 0.464638383	1.737955777	 1.737955777
30-Dec-19	10_YEAR	7	 0.652956401	 .			 1.737955777
30-Dec-19	3_MONTH	1	-0.638004856	 .			-0.371114946
30-Dec-19	6_MONTH	2	-0.633071866	 .			-0.371114946
30-Dec-19	1_YEAR	3	-0.659459184   -0.371114946	-0.371114946
30-Dec-19	2_YEAR	4	-0.70961743    -0.214424417	-0.214424417
30-Dec-19	3_YEAR	5	-0.73634249	   -0.110308306	-0.110308306
30-Dec-19	4_YEAR	6	-0.738953144	0.052784926	 0.052784926
30-Dec-19	5_YEAR	7	-0.721453755	0.198813346	 0.198813346
30-Dec-19	7_YEAR	8	-0.652077083	0.4472606	 0.4472606	
30-Dec-19	10_YEAR	9	-0.516890161	1.011691712	 1.011691712
30-Dec-19	20_YEAR	10	-0.212190089    2.050067817	 2.050067817
30-Dec-19	3_MONTH	1	 0.086031742	 .			 0.361956941
30-Dec-19	6_MONTH	2	 0.10557385	     .			 0.361956941
30-Dec-19	1_YEAR	3	 0.12990416	    0.361956941	 0.361956941
run;

data need /view=need;
  set have (keep=seq yield_chng);
  if seq=1 then _seq_series+1;
run;

proc transpose data=need out=trnspose prefix=_yc ;
  by _seq_series;
  id seq;
  var yield_chng;
run;

data want (drop=_:);
  set have ;

  if seq=1 then do;  /* Read and correct the transposed set of yield_chng values */
    set trnspose (keep=_yc:);
    array _yc {*} _yc: ;

    /* fill in leading missings */
    _x=coalesce(of _yc{*});          /* Get first non-missing */
    do _s=1 by 1 while (_yc{_s}=.);
      _yc{_s}=_x;
    end;
    
    do _s=dim(_yc) by -1 while (_yc{_s}=.);      /* Get index of last non-missing*/
    end;
    if _s&amp;lt;dim(_yc) then do _s=_s+1 to dim(_yc);  /* Fill in trailing missings    */
      _yc{_s}=_yc{_s-1}; 
    end;

    /* Fill in interior holes - straight line interpolation */
    do while (nmiss(of _yc{*})&amp;gt;0);
      do _before_s=1 by 1 until(_yc{_before_s+1}=.);        /* find SEQ before the hole*/
      end;
      do _after_s=_before_s+1 by 1 while (_yc{_after_s}=.); /* find SEQ after the hole */
      end;

      _slope= (_yc{_after_s}-_yc{_before_s}) / (_after_s-_before_s) ;

      do _s=_before_s+1 to _after_s-1;    /* Traverse the hole */
        _yc{_s} = _yc{_before_s} + _slope * (_s - _before_s);
      end;
    end;
  end;

  if yield_chng=. then yield_chng=_yc{seq};
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The NEED dataset is created just to generate the _seq_group identifier.&amp;nbsp; The proc transpose generates one obs per _seq_group with the variabes named _YC1, _YC2, etc. corresponding to the SEQ values in the pre-transposed data set.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The data want step reads in the original data.&amp;nbsp; When SEQ=1 it reads the transposed values _YC, which are characterized as an array, indexed by SEQ , and corrects missing values per the statement I made above.&amp;nbsp; Then, for the rest of the original data, it's just a matter of copying the appropriate element of the array into YIELD_CHNG.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 05 Dec 2020 19:39:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/703873#M215716</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-12-05T19:39:33Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704008#M215777</link>
      <description>&lt;P&gt;Thank you very much.&lt;/P&gt;&lt;P&gt;I am actually fetching all these values from a database and am&amp;nbsp;looking forward to create a dynamic macro. I believe in my previous question, the leading and trailing holes were clear.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, the interior hole depends on 2 things:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;count of empty holes and&lt;/LI&gt;&lt;LI&gt;position of the interior hole that is getting filled&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;So, if we have 2 cases, with the interior hole with first case with 2 missing values at position 2 and 3 and second case with missing values from 2 through 6 like below&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;Case&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;6&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1.214723719&lt;/TD&gt;&lt;TD&gt;1.476339748&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;then, following will be the logic of filling the values&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Case&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;Logic to fill for case 1&lt;/STRONG&gt;&lt;SPAN style="text-align: center;"&gt;&amp;nbsp;------&amp;gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;2/3 of previous and 1/3 of next available value&lt;/TD&gt;&lt;TD&gt;1/3 of previous and 2/3 of next&amp;nbsp;available value&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;0.84173194&lt;/TD&gt;&lt;TD&gt;1.028227829&lt;/TD&gt;&lt;TD&gt;1.214723719&lt;/TD&gt;&lt;TD&gt;1.476339748&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;0.925915982&lt;/TD&gt;&lt;TD&gt;1.088323941&lt;/TD&gt;&lt;TD&gt;1.304867886&lt;/TD&gt;&lt;TD&gt;1.467275845&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&amp;nbsp;Logic to fill for case 2&lt;/STRONG&gt;&lt;SPAN style="text-align: center;"&gt;&amp;nbsp;------&amp;gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;3/4 of previous and 1/4 of next&amp;nbsp;available value&lt;/TD&gt;&lt;TD&gt;3/5 of previous and 2/5 of next&amp;nbsp;available value&lt;/TD&gt;&lt;TD&gt;2/5 of previous and 3/5 of next&amp;nbsp;available value&lt;/TD&gt;&lt;TD&gt;1/4 of previous and 3/4 of next&amp;nbsp;available value&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Will the code work on any such case?&lt;/P&gt;</description>
      <pubDate>Mon, 07 Dec 2020 01:24:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704008#M215777</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-07T01:24:47Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704050#M215790</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/272527"&gt;@rohitdev_ds&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Thank you very much.&lt;/P&gt;
&lt;P&gt;I am actually fetching all these values from a database and am&amp;nbsp;looking forward to create a dynamic macro. I believe in my previous question, the leading and trailing holes were clear.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, the interior hole depends on 2 things:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;count of empty holes and&lt;/LI&gt;
&lt;LI&gt;position of the interior hole that is getting filled&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;So, if we have 2 cases, with the interior hole with first case with 2 missing values at position 2 and 3 and second case with missing values from 2 through 6 like below&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;Case&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;6&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0.65523605&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1.214723719&lt;/TD&gt;
&lt;TD&gt;1.476339748&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;0.65523605&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;then, following will be the logic of filling the values&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;Case&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;Logic to fill for case 1&lt;/STRONG&gt;&lt;SPAN style="text-align: center;"&gt;&amp;nbsp;------&amp;gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;2/3 of previous and 1/3 of next available value&lt;/TD&gt;
&lt;TD&gt;1/3 of previous and 2/3 of next&amp;nbsp;available value&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;0.65523605&lt;/TD&gt;
&lt;TD&gt;0.84173194&lt;/TD&gt;
&lt;TD&gt;1.028227829&lt;/TD&gt;
&lt;TD&gt;1.214723719&lt;/TD&gt;
&lt;TD&gt;1.476339748&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;0.65523605&lt;/TD&gt;
&lt;TD&gt;0.925915982&lt;/TD&gt;
&lt;TD&gt;1.088323941&lt;/TD&gt;
&lt;TD&gt;1.304867886&lt;/TD&gt;
&lt;TD&gt;1.467275845&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;&amp;nbsp;Logic to fill for case 2&lt;/STRONG&gt;&lt;SPAN style="text-align: center;"&gt;&amp;nbsp;------&amp;gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;3/4 of previous and 1/4 of next&amp;nbsp;available value&lt;/TD&gt;
&lt;TD&gt;3/5 of previous and 2/5 of next&amp;nbsp;available value&lt;/TD&gt;
&lt;TD&gt;2/5 of previous and 3/5 of next&amp;nbsp;available value&lt;/TD&gt;
&lt;TD&gt;1/4 of previous and 3/4 of next&amp;nbsp;available value&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Will the code work on any such case?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;OL&gt;
&lt;LI&gt;This is programming.&amp;nbsp; One of its great advantages is that you could actually run the above sample to answer your own question.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;In case 2, do you REALLY want weights of (3/4,1/4) (3/5,2/5) (2/5,3/5) (1/4,3/4)?&amp;nbsp; If so, then you need to state a general rule, instead of weights for selected hole sizes, because those weight are NOT a straight line interpolation (which would be (4/5,1/5) (3/5,2/5) (2/5,3/5) (1/5,4/5).&amp;nbsp; I guess if you gave a list of ALL possible hole sizes and their corresponding weights, you could avoid providing a general rule.&amp;nbsp; &amp;nbsp;Might you get a hole of size 7?&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;I suspect you were premature in marking my response as a solution.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Dec 2020 06:04:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704050#M215790</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-12-07T06:04:10Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704332#M215912</link>
      <description>&lt;P&gt;Yes, i agree. I prematurely agreed to the solution. I need more help here. Trying to raise the concern again.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a column 'RATE' with me which has some missing values and i need to populate them. To fill the missing values, I need to extrapolate some values and interpolate some.&lt;/P&gt;&lt;P&gt;1. For a particular 'CURRENCY' the first missing values and last missing values will be exactly the same as the nearest starting or ending value for the same CURRENCY.&lt;/P&gt;&lt;P&gt;2. For middle missing values, I need to calculate 2 different weights.&lt;/P&gt;&lt;P&gt;Weight 1 = (Nearest higher PERIOD_YRS - PERIOD_YRS) / ((Nearest higher PERIOD -&amp;nbsp;(Nearest lower PERIOD_YRS).&lt;/P&gt;&lt;P&gt;Weight 2 = 1 - Weight1&lt;/P&gt;&lt;P&gt;Expected value = (Weight 1 *&amp;nbsp;NEAREST LOWER PERIOD_YRS) + (Weight 2 *&amp;nbsp;NEAREST HIGHER PERIOD_YRS)&lt;/P&gt;&lt;P&gt;Here is the sample data&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;CURRENCY&lt;/TD&gt;&lt;TD&gt;SEQ&lt;/TD&gt;&lt;TD&gt;PERIOD&lt;/TD&gt;&lt;TD&gt;COUNTER_IN_GROUP&lt;/TD&gt;&lt;TD&gt;PERIOD_YRS&lt;/TD&gt;&lt;TD&gt;RATE&lt;/TD&gt;&lt;TD&gt;EXP RESULT&lt;/TD&gt;&lt;TD&gt;Weight1&lt;/TD&gt;&lt;TD&gt;Weight2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AUD&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3_MONTH&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.25&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3.689629437&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AUD&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2_YEAR&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;3.689629437&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;AUD&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;20_YEAR&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;3.689629437&lt;/TD&gt;&lt;TD&gt;3.689629437&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAD&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;6_MONTH&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAD&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1_YEAR&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;0.65523605&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAD&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3_YEAR&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1.028227829&lt;/TD&gt;&lt;TD&gt;0.333333333&lt;/TD&gt;&lt;TD&gt;0.666666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAD&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4_YEAR&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1.214723719&lt;/TD&gt;&lt;TD&gt;1.214723719&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAD&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;5_YEAR&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1.389134405&lt;/TD&gt;&lt;TD&gt;0.666666667&lt;/TD&gt;&lt;TD&gt;0.333333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAD&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7_YEAR&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CAD&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10_YEAR&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1.737955777&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Weight 1 = (4YR - 3YR)/(4YR - 1YR)&lt;/P&gt;&lt;P&gt;Weight 2 = (1 - Weight 1)&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>Tue, 08 Dec 2020 03:42:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704332#M215912</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-08T03:42:54Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704421#M215943</link>
      <description>Hi,&lt;BR /&gt;Can you please help with this?</description>
      <pubDate>Tue, 08 Dec 2020 15:23:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704421#M215943</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-08T15:23:36Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704501#M215977</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/272527"&gt;@rohitdev_ds&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Yes, i agree. I prematurely agreed to the solution. I need more help here. Trying to raise the concern again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a column 'RATE' with me which has some missing values and i need to populate them. To fill the missing values, I need to extrapolate some values and interpolate some.&lt;/P&gt;
&lt;P&gt;1. For a particular 'CURRENCY' the first missing values and last missing values will be exactly the same as the nearest starting or ending value for the same CURRENCY.&lt;/P&gt;
&lt;P&gt;2. For middle missing values, I need to calculate 2 different weights.&lt;/P&gt;
&lt;P&gt;Weight 1 = (Nearest higher PERIOD_YRS - PERIOD_YRS) / ((Nearest higher PERIOD -&amp;nbsp;(Nearest lower PERIOD_YRS).&lt;/P&gt;
&lt;P&gt;Weight 2 = 1 - Weight1&lt;/P&gt;
&lt;P&gt;Expected value = (Weight 1 *&amp;nbsp;NEAREST LOWER PERIOD_YRS) + (Weight 2 *&amp;nbsp;NEAREST HIGHER PERIOD_YRS)&lt;/P&gt;
&lt;P&gt;Here is the sample data&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;CURRENCY&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;SEQ&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;PERIOD&lt;/TD&gt;
&lt;TD width="228.889px"&gt;COUNTER_IN_GROUP&lt;/TD&gt;
&lt;TD width="114.444px"&gt;PERIOD_YRS&lt;/TD&gt;
&lt;TD width="105.556px"&gt;RATE&lt;/TD&gt;
&lt;TD width="107.778px"&gt;EXP RESULT&lt;/TD&gt;
&lt;TD width="105.556px"&gt;Weight1&lt;/TD&gt;
&lt;TD width="105.556px"&gt;Weight2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;AUD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;1&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;3_MONTH&lt;/TD&gt;
&lt;TD width="228.889px"&gt;1&lt;/TD&gt;
&lt;TD width="114.444px"&gt;0.25&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="107.778px"&gt;3.689629437&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;AUD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;1&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;2_YEAR&lt;/TD&gt;
&lt;TD width="228.889px"&gt;2&lt;/TD&gt;
&lt;TD width="114.444px"&gt;2&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="107.778px"&gt;3.689629437&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;AUD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;1&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;20_YEAR&lt;/TD&gt;
&lt;TD width="228.889px"&gt;3&lt;/TD&gt;
&lt;TD width="114.444px"&gt;20&lt;/TD&gt;
&lt;TD width="105.556px"&gt;3.689629437&lt;/TD&gt;
&lt;TD width="107.778px"&gt;3.689629437&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;CAD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;2&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;6_MONTH&lt;/TD&gt;
&lt;TD width="228.889px"&gt;1&lt;/TD&gt;
&lt;TD width="114.444px"&gt;0.5&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="107.778px"&gt;0.65523605&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;CAD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;2&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;1_YEAR&lt;/TD&gt;
&lt;TD width="228.889px"&gt;2&lt;/TD&gt;
&lt;TD width="114.444px"&gt;1&lt;/TD&gt;
&lt;TD width="105.556px"&gt;0.65523605&lt;/TD&gt;
&lt;TD width="107.778px"&gt;0.65523605&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;CAD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;2&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;3_YEAR&lt;/TD&gt;
&lt;TD width="228.889px"&gt;3&lt;/TD&gt;
&lt;TD width="114.444px"&gt;3&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="107.778px"&gt;1.028227829&lt;/TD&gt;
&lt;TD width="105.556px"&gt;0.333333333&lt;/TD&gt;
&lt;TD width="105.556px"&gt;0.666666667&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;CAD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;2&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;4_YEAR&lt;/TD&gt;
&lt;TD width="228.889px"&gt;4&lt;/TD&gt;
&lt;TD width="114.444px"&gt;4&lt;/TD&gt;
&lt;TD width="105.556px"&gt;1.214723719&lt;/TD&gt;
&lt;TD width="107.778px"&gt;1.214723719&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;CAD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;2&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;5_YEAR&lt;/TD&gt;
&lt;TD width="228.889px"&gt;5&lt;/TD&gt;
&lt;TD width="114.444px"&gt;5&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="107.778px"&gt;1.389134405&lt;/TD&gt;
&lt;TD width="105.556px"&gt;0.666666667&lt;/TD&gt;
&lt;TD width="105.556px"&gt;0.333333333&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;CAD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;2&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;7_YEAR&lt;/TD&gt;
&lt;TD width="228.889px"&gt;6&lt;/TD&gt;
&lt;TD width="114.444px"&gt;7&lt;/TD&gt;
&lt;TD width="105.556px"&gt;1.737955777&lt;/TD&gt;
&lt;TD width="107.778px"&gt;1.737955777&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="102.222px"&gt;CAD&lt;/TD&gt;
&lt;TD width="45.5556px"&gt;2&lt;/TD&gt;
&lt;TD width="87.7778px"&gt;10_YEAR&lt;/TD&gt;
&lt;TD width="228.889px"&gt;7&lt;/TD&gt;
&lt;TD width="114.444px"&gt;10&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="107.778px"&gt;1.737955777&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Weight 1 = (4YR - 3YR)/(4YR - 1YR)&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Weight 2 = (1 - Weight 1)&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Now I have to ask whether you actually examined the straight-line interpolation that I offered previously for internal holes?&amp;nbsp; It exactly matches the rule you describe above.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What it doesn't match is your earlier example of weights for case 2 quoted here (see the &lt;EM&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;red text&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;However, the interior hole depends on 2 things:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;count of empty holes and&lt;/LI&gt;
&lt;LI&gt;position of the interior hole that is getting filled&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;So, if we have 2 cases, with the interior hole with first case with 2 missing values at position 2 and 3 and second case with missing values from 2 through 6 like below&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;Case&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;6&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0.65523605&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;1.214723719&lt;/TD&gt;
&lt;TD&gt;1.476339748&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;0.65523605&lt;/TD&gt;
&lt;TD class="lia-align-center"&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;?&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="lia-align-center"&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;?&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="lia-align-center"&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;?&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD class="lia-align-center"&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;?&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;TD&gt;1.737955777&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;then, following will be the logic of filling the values&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50px" height="81px"&gt;&lt;STRONG&gt;Case&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="108.889px" height="81px"&gt;&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;Logic to fill for case 1&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;------&amp;gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="157.778px" height="81px"&gt;2/3 of previous and 1/3 of next available value&lt;/TD&gt;
&lt;TD width="157.778px" height="81px"&gt;1/3 of previous and 2/3 of next&amp;nbsp;available value&lt;/TD&gt;
&lt;TD width="158.889px" height="81px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="158.889px" height="81px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px" height="81px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px" height="81px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50px" height="27px"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="108.889px" height="27px"&gt;0.65523605&lt;/TD&gt;
&lt;TD width="157.778px" height="27px"&gt;0.84173194&lt;/TD&gt;
&lt;TD width="157.778px" height="27px"&gt;1.028227829&lt;/TD&gt;
&lt;TD width="158.889px" height="27px"&gt;1.214723719&lt;/TD&gt;
&lt;TD width="158.889px" height="27px"&gt;1.476339748&lt;/TD&gt;
&lt;TD width="105.556px" height="27px"&gt;1.737955777&lt;/TD&gt;
&lt;TD width="105.556px" height="27px"&gt;1.737955777&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50px" height="27px"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="108.889px" height="27px"&gt;0.65523605&lt;/TD&gt;
&lt;TD width="157.778px" height="27px"&gt;0.925915982&lt;/TD&gt;
&lt;TD width="157.778px" height="27px"&gt;1.088323941&lt;/TD&gt;
&lt;TD width="158.889px" height="27px"&gt;1.304867886&lt;/TD&gt;
&lt;TD width="158.889px" height="27px"&gt;1.467275845&lt;/TD&gt;
&lt;TD width="105.556px" height="27px"&gt;1.737955777&lt;/TD&gt;
&lt;TD width="105.556px" height="27px"&gt;1.737955777&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50px" height="107px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="108.889px" height="107px"&gt;&lt;STRONG&gt;&amp;nbsp;Logic to fill for case 2&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;------&amp;gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="157.778px" height="107px"&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;3/4 of previous and 1/4 of next&amp;nbsp;available value&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="157.778px" height="107px"&gt;&lt;FONT color="#000000"&gt;&lt;STRONG&gt;3/5 of previous and 2/5 of next&amp;nbsp;available value&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="158.889px" height="107px"&gt;&lt;FONT color="#000000"&gt;&lt;STRONG&gt;2/5 of previous and 3/5 of next&amp;nbsp;available value&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="158.889px" height="107px"&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;&lt;STRONG&gt;1/4 of previous and 3/4 of next&amp;nbsp;available value&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="105.556px" height="107px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="105.556px" height="107px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You have weights of&amp;nbsp; (3/4,1/4),(3/5,2/5),(2/5,3/5),(1/4,3/4).&amp;nbsp; &amp;nbsp;This is absolutely NOT analogous to your sample weight rule statement.&amp;nbsp; Using that rule, your weights would be&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; weight1&amp;nbsp; =&amp;nbsp; (6-current_seq)/(6-1).&amp;nbsp; With weight2=1-weight1 your rule would produce this sequence of weight pairs:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(4/5,1/5) for seq2;&amp;nbsp; (3/5,2/5) for seq3;&amp;nbsp; (2/5,3/5) for seq4; and (1/5,4/5) for seq5.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is becoming frustrating, because I explicitly asked you if the weights &lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;in red&lt;/STRONG&gt;&lt;/FONT&gt; above were really the weights you wanted, which I guess you didn't assess.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;At least you have now provided a rule (which fits my original interpretation of a straight line).&amp;nbsp; But the rule does not generate the weights that you used in the earlier examples.&amp;nbsp; In other words, either you have changed rules in this example, or you didn't apply your own rule to confirm your initial example weights that you wanted respondents to reproduce.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Help us help you - there is usually a good reason for our questions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Dec 2020 18:27:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704501#M215977</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-12-08T18:27:17Z</dc:date>
    </item>
    <item>
      <title>Re: Replace missing records in a column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704522#M215990</link>
      <description>Hi,&lt;BR /&gt;I realized yesterday that the weights depends on 'PERIOD' column. it was a miss from my side, sorry for that.&lt;BR /&gt;</description>
      <pubDate>Tue, 08 Dec 2020 19:40:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-missing-records-in-a-column/m-p/704522#M215990</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-08T19:40:38Z</dc:date>
    </item>
  </channel>
</rss>

