<?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: Change in Revenue for Partial Months in a year in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/557349#M155359</link>
    <description>&lt;P&gt;Reeza,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your response! I tried it out and it worked. You are awesome!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 09 May 2019 03:20:23 GMT</pubDate>
    <dc:creator>Chugvenk</dc:creator>
    <dc:date>2019-05-09T03:20:23Z</dc:date>
    <item>
      <title>Change in Revenue for Partial Months in a year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/555498#M154592</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am new to SAS and need some help. I have a dataset with the following data: Company number, year, month, Revenue. File attached. I was able to calculate the change in revenue for current month compared to previous month using the below code&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data&amp;nbsp;mylibrary.RevenueYOYGrowth;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set&amp;nbsp;mylibrary.chug_test;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;by&amp;nbsp;company_number yr;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr1 = lag1(revenue);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;first.yr&amp;nbsp;then&amp;nbsp;count=0;else&amp;nbsp;count+1;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;count ge&amp;nbsp;1&amp;nbsp;then&amp;nbsp;growth1yr=100*(revenue-lyr1)/lyr1;

run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;The above code works perfectly if the company has data for all the months in year.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;Requirement is, if the company has partial revenue in one year, the change in revenue should only be calculated for those months.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;So if a company has revenue for months say September 2017, October 2017, November 2017, December 2017, then the revenue should be calculated only for those months in 2018 also.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;Basically, (sum(september2017+october2017+november2017+december2017)-sum(september2018+october2018+november2018+december2018))/sum(september2018+october2018+november2018+december2018)&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;Excel attached shows sample data for both scenarios. I am needing help for the scenario in yellow. Please find attached&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;Appreciate a quick response! Thank you!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 01 May 2019 22:24:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/555498#M154592</guid>
      <dc:creator>Chugvenk</dc:creator>
      <dc:date>2019-05-01T22:24:38Z</dc:date>
    </item>
    <item>
      <title>Re: Change in Revenue for Partial Months in a year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/555499#M154593</link>
      <description>This is know as a YTD comparison and is quite common. A lot matters on your data structure, but I can't download files or attachments. Can you post a different example of your data?</description>
      <pubDate>Wed, 01 May 2019 22:27:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/555499#M154593</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-05-01T22:27:10Z</dc:date>
    </item>
    <item>
      <title>Re: Change in Revenue for Partial Months in a year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/555501#M154594</link>
      <description>&lt;P&gt;Hi Reeza,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your response&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the desired output&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;CompanyNo&lt;/TD&gt;&lt;TD&gt;Year&lt;/TD&gt;&lt;TD&gt;Month&lt;/TD&gt;&lt;TD&gt;Rev&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;September&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000080"&gt;250&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;October&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000080"&gt;165&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;November&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000080"&gt;170&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;December&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000080"&gt;150&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;January&lt;/TD&gt;&lt;TD&gt;125&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;February&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;March&lt;/TD&gt;&lt;TD&gt;175&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;April&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;May&lt;/TD&gt;&lt;TD&gt;225&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;June&lt;/TD&gt;&lt;TD&gt;250&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;July&lt;/TD&gt;&lt;TD&gt;275&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;August&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;September&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000080"&gt;325&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;October&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000080"&gt;350&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;November&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000080"&gt;375&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;December&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000080"&gt;400&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;GROWTH&lt;/TD&gt;&lt;TD&gt;-49.310345&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So basically, IF company has revenue for n number of months in a 2017, the same number of months should be compared for 2018.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the code I had worked. It works fine if the data exists for all months in a year, so I can simply use the lag function to see the value for the previous row.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data mylib.RevenueYOYGrowth;

     set mylib.cc_test;

     by client_number yr;

     lyr1 = lag1(revenue);

     if first.yr then count=0;else count+1;

     if count ge 1 then growth1yr=100*(revenue-lyr1)/lyr1;

 

     run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 01 May 2019 22:38:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/555501#M154594</guid>
      <dc:creator>Chugvenk</dc:creator>
      <dc:date>2019-05-01T22:38:21Z</dc:date>
    </item>
    <item>
      <title>Re: Change in Revenue for Partial Months in a year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/555635#M154638</link>
      <description>&lt;P&gt;Here's one way to do that calculation:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. Create a Year to date value that does the cumulative count for each year&lt;/P&gt;
&lt;P&gt;2. Use LAG12 to find the previous year so you have the YoY change.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover dlm=' ' dsd;
length companyNo $3. month $12.;
input CompanyNo $	Year	Month $	Rev;
date = input("01"||substr(Month, 1,3)||put(year, 4.), date9.);
format date yymm6.;
cards;
123 2017 September 250
123 2017 October 165
123 2017 November 170
123 2017 December 150
123 2018 January 125
123 2018 February 150
123 2018 March 175
123 2018 April 200
123 2018 May 225
123 2018 June 250
123 2018 July 275
123 2018 August 300
123 2018 September 325
123 2018 October 350
123 2018 November 375
123 2018 December 400
;;;;
run;

proc sort data=have; by companyNo date;

data add_CumulativeRev;
set have;
by companyNo year date;

if first.year then cumulative_rev = Rev;
else cumulative_rev + Rev;

run;

data YoY;
set add_cumulativeRev;
by companyNo year date;

if first.companyNo then count=1;
else count+1;

Rev12 = lag12(cumulative_rev);

if count&amp;gt;12 then YoY = cumulative_rev/rev12-1;
 
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/272550"&gt;@Chugvenk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi Reeza,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your response&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the desired output&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;CompanyNo&lt;/TD&gt;
&lt;TD&gt;Year&lt;/TD&gt;
&lt;TD&gt;Month&lt;/TD&gt;
&lt;TD&gt;Rev&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;September&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#000080"&gt;250&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;October&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#000080"&gt;165&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;November&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#000080"&gt;170&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2017&lt;/TD&gt;
&lt;TD&gt;December&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#000080"&gt;150&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;January&lt;/TD&gt;
&lt;TD&gt;125&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;February&lt;/TD&gt;
&lt;TD&gt;150&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;March&lt;/TD&gt;
&lt;TD&gt;175&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;April&lt;/TD&gt;
&lt;TD&gt;200&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;May&lt;/TD&gt;
&lt;TD&gt;225&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;June&lt;/TD&gt;
&lt;TD&gt;250&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;July&lt;/TD&gt;
&lt;TD&gt;275&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;August&lt;/TD&gt;
&lt;TD&gt;300&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;September&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#000080"&gt;325&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;October&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#000080"&gt;350&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;November&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#000080"&gt;375&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2018&lt;/TD&gt;
&lt;TD&gt;December&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color="#000080"&gt;400&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;GROWTH&lt;/TD&gt;
&lt;TD&gt;-49.310345&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So basically, IF company has revenue for n number of months in a 2017, the same number of months should be compared for 2018.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the code I had worked. It works fine if the data exists for all months in a year, so I can simply use the lag function to see the value for the previous row.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data mylib.RevenueYOYGrowth;

     set mylib.cc_test;

     by client_number yr;

     lyr1 = lag1(revenue);

     if first.yr then count=0;else count+1;

     if count ge 1 then growth1yr=100*(revenue-lyr1)/lyr1;

 

     run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 May 2019 15:19:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/555635#M154638</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-05-02T15:19:55Z</dc:date>
    </item>
    <item>
      <title>Re: Change in Revenue for Partial Months in a year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/557349#M155359</link>
      <description>&lt;P&gt;Reeza,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your response! I tried it out and it worked. You are awesome!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 May 2019 03:20:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Change-in-Revenue-for-Partial-Months-in-a-year/m-p/557349#M155359</guid>
      <dc:creator>Chugvenk</dc:creator>
      <dc:date>2019-05-09T03:20:23Z</dc:date>
    </item>
  </channel>
</rss>

