<?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 Retain percentage change in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Retain-percentage-change/m-p/489399#M127780</link>
    <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset of groups (max of 2 weeks per group) and I would like to workout the percentage change from the latest week to the first week as shown by column change ('want').&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I create the table below (with 'change' variable) and remove groups C and E from the final dataset (as they have only 1 week)?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;See example below:&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;Grp&lt;/TD&gt;&lt;TD&gt;Week&lt;/TD&gt;&lt;TD&gt;Amount&lt;/TD&gt;&lt;TD&gt;Change&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;TD&gt;1.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;195&lt;/TD&gt;&lt;TD&gt;1.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;E&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;120&lt;/TD&gt;&lt;TD&gt;1.2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried using a retain statement, however the the code is failing on ordering.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks,&lt;/P&gt;&lt;P&gt;Pete&lt;/P&gt;</description>
    <pubDate>Thu, 23 Aug 2018 20:25:49 GMT</pubDate>
    <dc:creator>PetePatel</dc:creator>
    <dc:date>2018-08-23T20:25:49Z</dc:date>
    <item>
      <title>Retain percentage change</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-percentage-change/m-p/489399#M127780</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset of groups (max of 2 weeks per group) and I would like to workout the percentage change from the latest week to the first week as shown by column change ('want').&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I create the table below (with 'change' variable) and remove groups C and E from the final dataset (as they have only 1 week)?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;See example below:&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;Grp&lt;/TD&gt;&lt;TD&gt;Week&lt;/TD&gt;&lt;TD&gt;Amount&lt;/TD&gt;&lt;TD&gt;Change&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;TD&gt;1.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;195&lt;/TD&gt;&lt;TD&gt;1.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;E&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;120&lt;/TD&gt;&lt;TD&gt;1.2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried using a retain statement, however the the code is failing on ordering.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks,&lt;/P&gt;&lt;P&gt;Pete&lt;/P&gt;</description>
      <pubDate>Thu, 23 Aug 2018 20:25:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-percentage-change/m-p/489399#M127780</guid>
      <dc:creator>PetePatel</dc:creator>
      <dc:date>2018-08-23T20:25:49Z</dc:date>
    </item>
    <item>
      <title>Re: Retain percentage change</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-percentage-change/m-p/489401#M127782</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Grp $ Week Amount;
datalines;
A 1 100
A 6 150
B 1 150
B 6 195
C 1 50
D 1 30
D 6 15
E 6 100
F 1 100
F 6 120
;

data want(drop=lagamount);
   set have;
   by Grp notsorted;
   lagamount=lag1(Amount);
   if first.Grp then call missing(Change);
   else Change=Amount/lagamount;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 23 Aug 2018 20:36:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-percentage-change/m-p/489401#M127782</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-08-23T20:36:23Z</dc:date>
    </item>
    <item>
      <title>Re: Retain percentage change</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-percentage-change/m-p/489404#M127783</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/154786"&gt;@PetePatel&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;                        
  input Grp $ Week Amount ;        
  cards ;                          
A  1  100                          
A  6  150                          
B  1  150                          
B  6  195                          
C  1   50                          
D  1   30                          
D  6   15                          
E  6  100                          
F  1  100                          
F  6  120                          
run ;                              
                                   
data want (drop = _:) ;            
  do _q = 1 by 1 until (last.Grp) ;
    set have ;                     
    by Grp ;                       
    if _q = 1 then _amt = Amount ; 
  end ;                            
  if _q &amp;gt; 1 ;                      
  Change = divide (Amount, _amt) ; 
run ;                              
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Paul D.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Aug 2018 20:43:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-percentage-change/m-p/489404#M127783</guid>
      <dc:creator>hashman</dc:creator>
      <dc:date>2018-08-23T20:43:07Z</dc:date>
    </item>
    <item>
      <title>Re: Retain percentage change</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-percentage-change/m-p/489434#M127787</link>
      <description>&lt;P&gt;Shamelessly plagiarised from PD's one of many &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;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have ;                        
  input Grp $ Week Amount ;        
  cards ;                          
A  1  100                          
A  6  150                          
B  1  150                          
B  6  195                          
C  1   50                          
D  1   30                          
D  6   15                          
E  6  100                          
F  1  100                          
F  6  120                          
run ;  
data want;
do _n_=1 by 1 until(last.grp);
set have;
by grp;
Change = ifn(mod(_n_,2)=0 ,divide (Amount,_amt),.) ; 
_amt=amount;
output;
end;
drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Aug 2018 22:17:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-percentage-change/m-p/489434#M127787</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-08-23T22:17:56Z</dc:date>
    </item>
  </channel>
</rss>

