<?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 can I calculate the depreciated value based on the previous value? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286042#M58597</link>
    <description>&lt;P&gt;I think there is something missing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How would I know the base&amp;nbsp;value of vehicle at 0 KM?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have added a row for every id- sale value of vehicle at 0 km&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data test;&lt;BR /&gt;input id km sale dep_rate;&lt;BR /&gt;datalines;&lt;BR /&gt;1 0 230 0&lt;BR /&gt;1 10000 0 -0.05&lt;BR /&gt;1 20000 0 -0.05&lt;BR /&gt;1 30000 200 -0.05&lt;BR /&gt;1 40000 0 -0.05&lt;BR /&gt;1 50000 0 -0.05&lt;BR /&gt;1 60000 0 -0.05&lt;BR /&gt;2 0 500 0&lt;BR /&gt;2 10000 0 -0.02&lt;BR /&gt;2 20000 0 -0.02&lt;BR /&gt;2 30000 500 -0.02&lt;BR /&gt;2 40000 0 -0.02&lt;BR /&gt;2 50000 0 -0.02&lt;BR /&gt;2 60000 0 -0.02&lt;BR /&gt;3 0 400 0&lt;BR /&gt;3 10000 0 -0.03&lt;BR /&gt;3 20000 0 -0.03&lt;BR /&gt;3 30000 300 -0.03&lt;BR /&gt;3 40000 0 -0.03&lt;BR /&gt;3 50000 0 -0.03&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data output(drop = last_sale_value);&lt;BR /&gt;retain last_sale_value;&lt;BR /&gt;set test;&lt;BR /&gt;by id;&lt;BR /&gt;if first.id then do;&lt;BR /&gt;last_sale_value=sale;&lt;BR /&gt;outcome=sale;&lt;BR /&gt;end;&lt;BR /&gt;else do;&lt;BR /&gt;if sale &amp;gt; 0 then outcome=sale;&lt;BR /&gt;else outcome=round(last_sale_value*sum(1,dep_rate),0.01);&lt;BR /&gt;last_sale_value=outcome;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;</description>
    <pubDate>Thu, 21 Jul 2016 05:23:18 GMT</pubDate>
    <dc:creator>RahulG</dc:creator>
    <dc:date>2016-07-21T05:23:18Z</dc:date>
    <item>
      <title>How can I calculate the depreciated value based on the previous value?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286041#M58596</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am new to SAS and I was hoping I could get some help in this forum.&lt;/P&gt;&lt;P&gt;I would like to know how I can calculate the depreciated/appreciated value based on the value avaiable within each group.&lt;/P&gt;&lt;P&gt;So if I have the following table,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data test;&lt;BR /&gt;input id km sale dep_rate;&lt;BR /&gt;datalines;&lt;BR /&gt;1 10000 0 -0.05&lt;BR /&gt;1 20000 0 -0.05&lt;BR /&gt;1 30000 200 -0.05&lt;BR /&gt;1 40000 0 -0.05&lt;BR /&gt;1 50000 0 -0.05&lt;BR /&gt;1 60000 0 -0.05&lt;BR /&gt;2 10000 0 -0.02&lt;BR /&gt;2 20000 0 -0.02&lt;BR /&gt;2 30000 500 -0.02&lt;BR /&gt;2 40000 0 -0.02&lt;BR /&gt;2 50000 0 -0.02&lt;BR /&gt;2 60000 0 -0.02&lt;BR /&gt;3 10000 0 -0.03&lt;BR /&gt;3 20000 0 -0.03&lt;BR /&gt;3 30000 300 -0.03&lt;BR /&gt;3 40000 0 -0.03&lt;BR /&gt;3 50000 0 -0.03&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to know how to achive the following result.&lt;/P&gt;&lt;P&gt;It calculates the depreciated/appreicated value of each group based on it's depreciation rate and each km group.&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;KM&lt;/TD&gt;&lt;TD&gt;SALE&lt;/TD&gt;&lt;TD&gt;DEP_RATE&lt;/TD&gt;&lt;TD&gt;OUTCOME&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.05&lt;/TD&gt;&lt;TD&gt;220.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;20000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.05&lt;/TD&gt;&lt;TD&gt;210.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;30000&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;-0.05&lt;/TD&gt;&lt;TD&gt;200.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;40000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.05&lt;/TD&gt;&lt;TD&gt;190.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.05&lt;/TD&gt;&lt;TD&gt;180.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;60000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.05&lt;/TD&gt;&lt;TD&gt;171.48&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.02&lt;/TD&gt;&lt;TD&gt;520.20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;20000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.02&lt;/TD&gt;&lt;TD&gt;510.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;30000&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;-0.02&lt;/TD&gt;&lt;TD&gt;500.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;40000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.02&lt;/TD&gt;&lt;TD&gt;490.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;50000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.02&lt;/TD&gt;&lt;TD&gt;480.20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;60000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.02&lt;/TD&gt;&lt;TD&gt;470.60&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;10000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.03&lt;/TD&gt;&lt;TD&gt;318.27&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;20000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.03&lt;/TD&gt;&lt;TD&gt;309.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;30000&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;-0.03&lt;/TD&gt;&lt;TD&gt;300.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;40000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.03&lt;/TD&gt;&lt;TD&gt;291.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;50000&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;-0.03&lt;/TD&gt;&lt;TD&gt;282.27&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;I have a feeling that I need to use retain, loop and lag to find depreciated value first, then sort the other way around to find appreciated value.&lt;/P&gt;&lt;P&gt;Finally use the value from depreicated or appreciated variable as RESULT.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, I can not figure out how I should utilise those functions to achive my result.....&lt;/P&gt;&lt;P&gt;Any advice would be much appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2016 04:48:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286041#M58596</guid>
      <dc:creator>Tomo230485</dc:creator>
      <dc:date>2016-07-21T04:48:25Z</dc:date>
    </item>
    <item>
      <title>Re: How can I calculate the depreciated value based on the previous value?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286042#M58597</link>
      <description>&lt;P&gt;I think there is something missing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How would I know the base&amp;nbsp;value of vehicle at 0 KM?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have added a row for every id- sale value of vehicle at 0 km&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data test;&lt;BR /&gt;input id km sale dep_rate;&lt;BR /&gt;datalines;&lt;BR /&gt;1 0 230 0&lt;BR /&gt;1 10000 0 -0.05&lt;BR /&gt;1 20000 0 -0.05&lt;BR /&gt;1 30000 200 -0.05&lt;BR /&gt;1 40000 0 -0.05&lt;BR /&gt;1 50000 0 -0.05&lt;BR /&gt;1 60000 0 -0.05&lt;BR /&gt;2 0 500 0&lt;BR /&gt;2 10000 0 -0.02&lt;BR /&gt;2 20000 0 -0.02&lt;BR /&gt;2 30000 500 -0.02&lt;BR /&gt;2 40000 0 -0.02&lt;BR /&gt;2 50000 0 -0.02&lt;BR /&gt;2 60000 0 -0.02&lt;BR /&gt;3 0 400 0&lt;BR /&gt;3 10000 0 -0.03&lt;BR /&gt;3 20000 0 -0.03&lt;BR /&gt;3 30000 300 -0.03&lt;BR /&gt;3 40000 0 -0.03&lt;BR /&gt;3 50000 0 -0.03&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data output(drop = last_sale_value);&lt;BR /&gt;retain last_sale_value;&lt;BR /&gt;set test;&lt;BR /&gt;by id;&lt;BR /&gt;if first.id then do;&lt;BR /&gt;last_sale_value=sale;&lt;BR /&gt;outcome=sale;&lt;BR /&gt;end;&lt;BR /&gt;else do;&lt;BR /&gt;if sale &amp;gt; 0 then outcome=sale;&lt;BR /&gt;else outcome=round(last_sale_value*sum(1,dep_rate),0.01);&lt;BR /&gt;last_sale_value=outcome;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2016 05:23:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286042#M58597</guid>
      <dc:creator>RahulG</dc:creator>
      <dc:date>2016-07-21T05:23:18Z</dc:date>
    </item>
    <item>
      <title>Re: How can I calculate the depreciated value based on the previous value?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286046#M58598</link>
      <description>&lt;P&gt;Hmm. Interesting .&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;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input id km sale dep_rate;
datalines;
1 10000 0 -0.05
1 20000 0 -0.05
1 30000 200 -0.05
1 40000 0 -0.05
1 50000 0 -0.05
1 60000 0 -0.05
2 10000 0 -0.02
2 20000 0 -0.02
2 30000 500 -0.02
2 40000 0 -0.02
2 50000 0 -0.02
2 60000 0 -0.02
3 10000 0 -0.03
3 20000 0 -0.03
3 30000 300 -0.03
3 40000 0 -0.03
3 50000 0 -0.03
;
run;
data temp key(keep=id n sale  rename=(n=_n sale=_sale));
 set test;
 by id;
 if first.id then n=0;
 n+1;
 if sale ne 0 then output key;
 output temp;
run;
data want;
 merge temp key;
 by id;
 period=n-_n;
 OUTCOME=_sale*(1+dep_rate)**period;
 drop _: n period;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 21 Jul 2016 06:26:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286046#M58598</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-07-21T06:26:11Z</dc:date>
    </item>
    <item>
      <title>Re: How can I calculate the depreciated value based on the previous value?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286284#M58683</link>
      <description>Thank you for your quick reply!&lt;BR /&gt;It sort of works but the outcome for the appreciated value seems to be wrong. I guess that is due to relying on the base value you created?&lt;BR /&gt;ID:1 KM:20,000 outcome should be 210 (200 * 0.05 + 200).&lt;BR /&gt;However your outcomes shows 207.58.</description>
      <pubDate>Thu, 21 Jul 2016 21:49:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286284#M58683</guid>
      <dc:creator>Tomo230485</dc:creator>
      <dc:date>2016-07-21T21:49:46Z</dc:date>
    </item>
    <item>
      <title>Re: How can I calculate the depreciated value based on the previous value?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286285#M58684</link>
      <description>Smart and Simple way!&lt;BR /&gt;I was thinking of it in very complicated way.&lt;BR /&gt;Thank you!</description>
      <pubDate>Thu, 21 Jul 2016 21:59:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286285#M58684</guid>
      <dc:creator>Tomo230485</dc:creator>
      <dc:date>2016-07-21T21:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: How can I calculate the depreciated value based on the previous value?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286314#M58698</link>
      <description>&lt;P&gt;Indeed very smart.&lt;/P&gt;</description>
      <pubDate>Fri, 22 Jul 2016 03:14:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-can-I-calculate-the-depreciated-value-based-on-the-previous/m-p/286314#M58698</guid>
      <dc:creator>RahulG</dc:creator>
      <dc:date>2016-07-22T03:14:24Z</dc:date>
    </item>
  </channel>
</rss>

