<?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: re: Annualizing rates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/re-Annualizing-rates/m-p/892202#M352406</link>
    <description>Hi Mkeintz....thanks for your suggestions...both are awesome....Thanks</description>
    <pubDate>Fri, 01 Sep 2023 01:08:51 GMT</pubDate>
    <dc:creator>twildone</dc:creator>
    <dc:date>2023-09-01T01:08:51Z</dc:date>
    <item>
      <title>re: Annualizing rates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/re-Annualizing-rates/m-p/892184#M352397</link>
      <description>&lt;P&gt;Hi... I am using the following code to compute an annual rate which seems to work and wonder if there is a better or more efficient way to achieve the same results. I am working with rates for the Fall, Winter and Spring for each year and in some instances one or more rates may be missing. I ended up writing if statements for all the possible combination that could occur. Is there a better way to do the same thing. Thanks&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data Want;
    format RetRate 12.2;
    set Have;
        if missing(Fall) and not missing(Winter) and not missing(Spring) then 
            RetRate = ((((1+Spring)*(1+Winter))**(1/2))-1)*100;
        if not missing(Fall) and missing(Winter) and not missing(Spring) then 
            RetRate = ((((1+Spring)*(1+Fall))**(1/2))-1)*100;
        if not missing(Fall) and not missing(Winter) and missing(Spring) then 
            RetRate = ((((1+Fall)*(1+Winter))**(1/2))-1)*100;
        if not missing(Fall) and not missing(Winter) and not missing(Spring) then
            RetRate = ((((1+Spring)*(1+Fall)*(1+Winter))**(1/3))-1)*100;
        if missing(Fall) and missing(Winter) and not missing(Spring) then 
            RetRate = (((1+Spring)**(1/1))-1)*100;
        if not missing(Fall) and missing(Winter) and missing(Spring) then 
            RetRate = (((1+Fall)**(1/1))-1)*100;
        if missing(Fall) and not missing(Winter) and missing(Spring) then 
            RetRate = (((1+Winter)**(1/1))-1)*100;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 31 Aug 2023 21:02:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/re-Annualizing-rates/m-p/892184#M352397</guid>
      <dc:creator>twildone</dc:creator>
      <dc:date>2023-08-31T21:02:40Z</dc:date>
    </item>
    <item>
      <title>Re: re: Annualizing rates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/re-Annualizing-rates/m-p/892201#M352405</link>
      <description>&lt;P&gt;You can do this be realizing that you will get the same result if you (1) substitute a rate of 0 for every missing rate, but don't count them in the exponent term:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;    retrate=((1+coalesce(fall,0))*(1+coalesce(spring,0))*(1+coalesce(winter,0)))**(1/n(fall,spring,winter));
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The coalesce function returns the leftmost non-missing value, effectively substituting a zero for a missing value.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But the N function only counts non-missing values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You could make this slightly more structured by utilizing an array statement:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; array rate {3} fall spring winter ;
 retrate=((1+coalesce(rate{1},0))*(1+coalesce(rate{2},0))*(1+coalesce(rate{3},0)))**(1/n(of rate{*}));
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 01 Sep 2023 00:58:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/re-Annualizing-rates/m-p/892201#M352405</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2023-09-01T00:58:17Z</dc:date>
    </item>
    <item>
      <title>Re: re: Annualizing rates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/re-Annualizing-rates/m-p/892202#M352406</link>
      <description>Hi Mkeintz....thanks for your suggestions...both are awesome....Thanks</description>
      <pubDate>Fri, 01 Sep 2023 01:08:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/re-Annualizing-rates/m-p/892202#M352406</guid>
      <dc:creator>twildone</dc:creator>
      <dc:date>2023-09-01T01:08:51Z</dc:date>
    </item>
  </channel>
</rss>

