<?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: How to update column with missing values with different logics for each cell? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-update-column-with-missing-values-with-different-logics/m-p/705477#M216431</link>
    <description>&lt;P&gt;You wrote&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt; Expected value = (Weight 1 *&amp;nbsp;NEAREST LOWER PERIOD_YRS) + (Weight 2 *&amp;nbsp;NEAREST HIGHER PERIOD_YRS)&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The correct formula is&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Expected value = (Weight 1 *&amp;nbsp;NEAREST LOWER RATE) + (Weight 2 *&amp;nbsp;NEAREST HIGHER RATE)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt; the question was valid.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;I told you how to ask questions using the appropriate formatting. Feel free to ignore. And to be ignored. You seem to know better.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;nbsp;Try being decent with responses.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Don't worry, I'll make sure not to try helping you.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 13 Dec 2020 06:01:52 GMT</pubDate>
    <dc:creator>ChrisNZ</dc:creator>
    <dc:date>2020-12-13T06:01:52Z</dc:date>
    <item>
      <title>How to update column with missing values with different logics for each cell?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-update-column-with-missing-values-with-different-logics/m-p/704343#M215917</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am having a dataset which has a column 'RATE'&amp;nbsp; with some missing values and my objective is to populate that column.&lt;/P&gt;&lt;P&gt;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;My SAS Code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc transpose data= WORK.Sample out=trnspose prefix=_yc;&lt;BR /&gt;&amp;nbsp; by SEQ;&lt;BR /&gt;&amp;nbsp; id COUNTER_IN_GROUP;&lt;BR /&gt;&amp;nbsp; var RATE WEIGHT;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;DATA WORK.CONSOL_3 (drop=_:);&lt;BR /&gt;&amp;nbsp; set WORK.CONSOL_2 ;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; if COUNTER_IN_GROUP=1 then do; &amp;nbsp;/* Read and correct the transposed set of rate values */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; set trnspose (keep=_yc:);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; array _yc {*} _yc: ;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; /* fill in leading missings */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; _x=coalesce(of _yc{*}); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* Get first non-missing */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; do _s=1 by 1 while (_yc{_s}=.);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; _yc{_s}=_x;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; do _s=dim(_yc) by -1 while (_yc{_s}=.); &amp;nbsp; &amp;nbsp; &amp;nbsp;/* Get index of last non-missing*/&lt;BR /&gt;&amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; if _s&amp;lt;dim(_yc) then do _s=_s+1 to dim(_yc); &amp;nbsp;/* Fill in trailing missings &amp;nbsp; &amp;nbsp;*/&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; _yc{_s}=_yc{_s-1};&lt;BR /&gt;&amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; /* Fill in interior holes - straight line interpolation */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; do while (nmiss(of _yc{*})&amp;gt;0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; do _before_s=1 by 1 until(_yc{_before_s+1}=.); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/* find SEQ before the hole*/&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; do _after_s=_before_s+1 by 1 while (_yc{_after_s}=.); /* find SEQ after the hole */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; _slope= (_yc{_after_s}-_yc{_before_s}) / (_after_s-_before_s) ;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; do _s=_before_s+1 to _after_s-1; &amp;nbsp; &amp;nbsp;/* Traverse the hole */&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _yc{_s} = _yc{_before_s} + _slope * (_s - _before_s);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; if RATE=. then RATE =_yc{seq};&lt;BR /&gt;run;&lt;/P&gt;&lt;DIV class="yj6qo"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="adL"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Dec 2020 04:51:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-update-column-with-missing-values-with-different-logics/m-p/704343#M215917</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-08T04:51:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to update column with missing values with different logics for each cell?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-update-column-with-missing-values-with-different-logics/m-p/704600#M216013</link>
      <description>&lt;P&gt;This seems to work. Please alter as needed.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
 create table WANT as 
 select base.*
      , before.COUNTER_IN_GROUP as CB, before.PERIOD_YRS as PB, before.RATE as RB, MIN   
      , after .COUNTER_IN_GROUP as CA, after .PERIOD_YRS as PA, after .RATE as RA, MAX   
      , (PA - base.PERIOD_YRS) / (PA-PB)                      as W1
      , 1- calculated W1                                      as W2
      , case when base.RATE                 then base.RATE
             when base.COUNTER_IN_GROUP&amp;lt;MIN then RB
             when base.COUNTER_IN_GROUP&amp;gt;MAX then RA
             else calculated W1 * RB + calculated W2 * RA end as EXP
 from HAVE                                                                           base
        left join
     (select *, min(COUNTER_IN_GROUP) as MIN from HAVE where RATE group by CURRENCY) before
        on base.CURRENCY=before.CURRENCY
         and ^base.RATE
         and ( (before.COUNTER_IN_GROUP=base.COUNTER_IN_GROUP-1 
             | (before.COUNTER_IN_GROUP=MIN &amp;amp; base.COUNTER_IN_GROUP&amp;lt;MIN )) )
        left join
     (select *, max(COUNTER_IN_GROUP) as MAX from HAVE where RATE group by CURRENCY) after
        on base.CURRENCY=after.CURRENCY
         and ^base.RATE
         and ( (after.COUNTER_IN_GROUP=base.COUNTER_IN_GROUP+1 
             | (after.COUNTER_IN_GROUP=MAX &amp;amp; base.COUNTER_IN_GROUP&amp;gt;MAX )) )
order by base.CURRENCY,base.COUNTER_IN_GROUP;

select CURRENCY, SEQ, PERIOD, COUNTER_IN_GROUP, PERIOD_YRS, RATE, W1, W2, EXP from WANT;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;DIV class="branch"&gt;&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV align="left"&gt;
&lt;TABLE class="table" summary="Procedure SQL: Query Results" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l b header" scope="col" width="68px" height="19px"&gt;CURRENCY&lt;/TH&gt;
&lt;TH class="r b header" scope="col" width="40px" height="19px"&gt;SEQ&lt;/TH&gt;
&lt;TH class="l b header" scope="col" width="88px" height="19px"&gt;PERIOD&lt;/TH&gt;
&lt;TH class="r b header" scope="col" width="136px" height="19px"&gt;COUNTER_IN_GROUP&lt;/TH&gt;
&lt;TH class="r b header" scope="col" width="83px" height="19px"&gt;PERIOD_YRS&lt;/TH&gt;
&lt;TH class="r b header" scope="col" width="78px" height="19px"&gt;RATE&lt;/TH&gt;
&lt;TH class="r b header" scope="col" width="78px" height="19px"&gt;W1&lt;/TH&gt;
&lt;TH class="r b header" scope="col" width="78px" height="19px"&gt;W2&lt;/TH&gt;
&lt;TH class="r b header" scope="col" width="78px" height="19px"&gt;EXP&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;AUD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;3_MONTH&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;0.25&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;3.689629&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;AUD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;2_YEAR&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;3.689629&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;AUD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;20_YEAR&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;3&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;20&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;3.689629&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;3.689629&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;CAD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;6_MONTH&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;0.5&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;0.655236&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;CAD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;1_YEAR&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;1&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;0.655236&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;0.655236&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;CAD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;3_YEAR&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;3&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;3&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;0.333333&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;0.666667&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;1.028228&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;CAD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;4_YEAR&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;4&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;4&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;1.214724&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;1.214724&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;CAD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;5_YEAR&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;5&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;5&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;0.666667&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;0.333333&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;1.389134&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;CAD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;7_YEAR&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;6&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;7&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;1.737956&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;1.737956&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="68px" height="30px" class="l data"&gt;CAD&lt;/TD&gt;
&lt;TD width="40px" height="30px" class="r data"&gt;2&lt;/TD&gt;
&lt;TD width="88px" height="30px" class="l data"&gt;10_YEAR&lt;/TD&gt;
&lt;TD width="136px" height="30px" class="r data"&gt;7&lt;/TD&gt;
&lt;TD width="83px" height="30px" class="r data"&gt;10&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;.&lt;/TD&gt;
&lt;TD width="78px" height="30px" class="r data"&gt;1.737956&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your formula is wrong. 1) The least you can do is verify that you ask a valid question, rather than waste our time.&lt;/P&gt;
&lt;P&gt;Also 2) please post your data in usable format (typically a data step) and 3) post your code in a legible format using the appropriate icon.&lt;/P&gt;
&lt;P&gt;Your chances of being helped are otherwise much slimmer. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Dec 2020 00:52:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-update-column-with-missing-values-with-different-logics/m-p/704600#M216013</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2020-12-09T00:52:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to update column with missing values with different logics for each cell?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-update-column-with-missing-values-with-different-logics/m-p/705470#M216426</link>
      <description>&lt;P&gt;Thanks. Try being decent with responses. The formula was correct and the question was valid.&lt;/P&gt;</description>
      <pubDate>Sun, 13 Dec 2020 01:25:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-update-column-with-missing-values-with-different-logics/m-p/705470#M216426</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-12-13T01:25:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to update column with missing values with different logics for each cell?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-update-column-with-missing-values-with-different-logics/m-p/705477#M216431</link>
      <description>&lt;P&gt;You wrote&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt; Expected value = (Weight 1 *&amp;nbsp;NEAREST LOWER PERIOD_YRS) + (Weight 2 *&amp;nbsp;NEAREST HIGHER PERIOD_YRS)&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The correct formula is&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Expected value = (Weight 1 *&amp;nbsp;NEAREST LOWER RATE) + (Weight 2 *&amp;nbsp;NEAREST HIGHER RATE)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt; the question was valid.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;I told you how to ask questions using the appropriate formatting. Feel free to ignore. And to be ignored. You seem to know better.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;nbsp;Try being decent with responses.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Don't worry, I'll make sure not to try helping you.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 13 Dec 2020 06:01:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-update-column-with-missing-values-with-different-logics/m-p/705477#M216431</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2020-12-13T06:01:52Z</dc:date>
    </item>
  </channel>
</rss>

