<?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 calculate average by variable and with conditions in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585066#M166777</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;It's easy to take into account by not reading the rows where Commission is missing in the first place:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;                                                                                                                                                                                                                                                     
  input Company :$1. Commission ;                                                                                                                                                                                                                               
  cards ;                                                                                                                                                                                                                                                       
F      15.50                                                                                                                                                                                                                                                    
F      14.00                                                                                                                                                                                                                                                    
F      14.00                                                                                                                                                                                                                                                    
F      13.00                                                                                                                                                                                                                                                    
F      13.00                                                                                                                                                                                                                                                    
F      12.50                                                                                                                                                                                                                                                    
F      12.00                                                                                                                                                                                                                                                    
F      12.00                                                                                                                                                                                                                                                    
F      12.00                                                                                                                                                                                                                                                    
F      11.50                                                                                                                                                                                                                                                    
F      11.50                                                                                                                                                                                                                                                    
F      11.50                                                                                                                                                                                                                                                    
F      11.00                                                                                                                                                                                                                                                    
F      10.50                                                                                                                                                                                                                                                    
F      10.45                                                                                                                                                                                                                                                    
F      10.00                                                                                                                                                                                                                                                    
F      10.00                                                                                                                                                                                                                                                    
F      10.00                                                                                                                                                                                                                                                    
F       9.00                                                                                                                                                                                                                                                    
F        .                                                                                                                                                                                                                                                      
I      17.75                                                                                                                                                                                                                                                    
I      15.00                                                                                                                                                                                                                                                    
I      15.00                                                                                                                                                                                                                                                    
I      13.00                                                                                                                                                                                                                                                    
I      12.50                                                                                                                                                                                                                                                    
I      10.00                                                                                                                                                                                                                                                    
I      10.00                                                                                                                                                                                                                                                    
I       9.89                                                                                                                                                                                                                                                    
I       9.15                                                                                                                                                                                                                                                    
I       9.00                                                                                                                                                                                                                                                    
I       9.00                                                                                                                                                                                                                                                    
I       8.75                                                                                                                                                                                                                                                    
I       8.50                                                                                                                                                                                                                                                    
I       8.00                                                                                                                                                                                                                                                    
I       7.25                                                                                                                                                                                                                                                    
M      17.29                                                                                                                                                                                                                                                    
M      15.91                                                                                                                                                                                                                                                    
M      14.25                                                                                                                                                                                                                                                    
M      13.99                                                                                                                                                                                                                                                    
M      13.55                                                                                                                                                                                                                                                    
M      13.54                                                                                                                                                                                                                                                    
M      13.50                                                                                                                                                                                                                                                    
M      12.50                                                                                                                                                                                                                                                    
M      12.06                                                                                                                                                                                                                                                    
M      11.50                                                                                                                                                                                                                                                    
M      11.31                                                                                                                                                                                                                                                    
M      11.25                                                                                                                                                                                                                                                    
M      11.15                                                                                                                                                                                                                                                    
M      10.00                                                                                                                                                                                                                                                    
M      10.00                                                                                                                                                                                                                                                    
M      10.00                                                                                                                                                                                                                                                    
M      10.00                                                                                                                                                                                                                                                    
M       9.00                                                                                                                                                                                                                                                    
M       8.00                                                                                                                                                                                                                                                    
M       7.80                                                                                                                                                                                                                                                    
M       7.25                                                                                                                                                                                                                                                    
R      18.29                                                                                                                                                                                                                                                    
R      15.60                                                                                                                                                                                                                                                    
R      13.00                                                                                                                                                                                                                                                    
R      11.00                                                                                                                                                                                                                                                    
R      11.00                                                                                                                                                                                                                                                    
R      11.00                                                                                                                                                                                                                                                    
R      10.00                                                                                                                                                                                                                                                    
R      10.00                                                                                                                                                                                                                                                    
R      9.56                                                                                                                                                                                                                                                     
R      9.00                                                                                                                                                                                                                                                     
R      0.14                                                                                                                                                                                                                                                     
R       .                                                                                                                                                                                                                                                       
RO    18.54                                                                                                                                                                                                                                                     
RO    16.75                                                                                                                                                                                                                                                     
RO    15.75                                                                                                                                                                                                                                                     
RO    15.25                                                                                                                                                                                                                                                     
RO    14.00                                                                                                                                                                                                                                                     
RO    13.25                                                                                                                                                                                                                                                     
RO    13.00                                                                                                                                                                                                                                                     
RO    13.00                                                                                                                                                                                                                                                     
RO    12.50                                                                                                                                                                                                                                                     
RO    10.50                                                                                                                                                                                                                                                     
RO    10.00                                                                                                                                                                                                                                                     
RO    10.00                                                                                                                                                                                                                                                     
RO     9.95                                                                                                                                                                                                                                                     
RO     9.25                                                                                                                                                                                                                                                     
RO     9.25                                                                                                                                                                                                                                                     
RO     9.00                                                                                                                                                                                                                                                     
U     15.00                                                                                                                                                                                                                                                     
U     13.90                                                                                                                                                                                                                                                     
U     12.00                                                                                                                                                                                                                                                     
U     12.00                                                                                                                                                                                                                                                     
U     11.50                                                                                                                                                                                                                                                     
U     11.07                                                                                                                                                                                                                                                     
U     11.07                                                                                                                                                                                                                                                     
U     11.00                                                                                                                                                                                                                                                     
U     10.00                                                                                                                                                                                                                                                     
U     10.00                                                                                                                                                                                                                                                     
U      9.25                                                                                                                                                                                                                                                     
U      2.33                                                                                                                                                                                                                                                     
W     15.00                                                                                                                                                                                                                                                     
W     12.00                                                                                                                                                                                                                                                     
W      9.50                                                                                                                                                                                                                                                     
;                                                                                                                                                                                                                                                               
run ;                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                
%let PCT = 20 ;                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                
data want (drop = commission) ;                                                                                                                                                                                                                                 
  do _n_ = 1 by 1 until (last.company) ;                                                                                                                                                                                                                        
    set have (where=(N(commission))) ;                                                                                                                                                                                                                          
    by company ;                                                                                                                                                                                                                                                
  end ;                                                                                                                                                                                                                                                         
  N = floor (_n_ * &amp;amp;PCT / 100) ;                                                                                                                                                                                                                                  
  do _n_ = 1 to _n_ ;                                                                                                                                                                                                                                           
    set have (where=(N(commission))) ;                                                                                                                                                                                                                          
    if _n_ &amp;lt;= N then Sum = sum (Sum, commission) ;                                                                                                                                                                                                              
  end ;                                                                                                                                                                                                                                                         
  Mean = divide (Sum, N) ;                                                                                                                                                                                                                                      
run ;                                                           
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;As&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/17813"&gt;@KachiM&lt;/a&gt;&amp;nbsp;has pointed out, FLOOR can be replaced with another function the OP may find more suitable depending on more detailed specs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards&lt;/P&gt;
&lt;P&gt;Paul D.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 29 Aug 2019 19:54:14 GMT</pubDate>
    <dc:creator>hashman</dc:creator>
    <dc:date>2019-08-29T19:54:14Z</dc:date>
    <item>
      <title>How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584959#M166729</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have following sample data which I sorted by company and Commission (high to low) (original dataset is more than 3000 rows). For each of the company, I want to take top 20% commission data and calculate average of that top 20% only, (not all data for a company) with a flexibility to change the top n%. How can I do this?&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Company&lt;/TD&gt;&lt;TD&gt;Commission&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$17.75&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$15.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$15.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$13.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$12.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$9.89&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$9.15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$9.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$9.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$8.75&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$8.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$8.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;$7.25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$15.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$14.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$14.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$13.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$13.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$12.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$12.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$12.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$12.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$11.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$11.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$11.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$11.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$10.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$10.45&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;$9.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$17.29&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$15.91&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$14.25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$13.99&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$13.55&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$13.54&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$13.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$12.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$12.06&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$11.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$11.31&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$11.25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$11.15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$9.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$8.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$7.80&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;$7.25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$18.29&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$15.60&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$13.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$11.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$11.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$11.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$9.56&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$9.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;$0.14&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$18.54&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$16.75&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$15.75&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$15.25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$14.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$13.25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$13.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$13.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$12.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$10.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$9.95&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$9.25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$9.25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;$9.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$15.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$13.90&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$12.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$12.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$11.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$11.07&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$11.07&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$11.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$10.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$9.25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;$2.33&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W&lt;/TD&gt;&lt;TD&gt;$15.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W&lt;/TD&gt;&lt;TD&gt;$12.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W&lt;/TD&gt;&lt;TD&gt;$9.50&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For e.g. Company F has 20 rows, top 20% would be first 4 rows (because it&amp;nbsp;is already sorted by&amp;nbsp;commission for a company)&amp;nbsp;and calculating average of those 4 commission data.&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Company&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Commission&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;F&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$15.50 &lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;F&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$14.00 &lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;F&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$14.00 &lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;F&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$13.00 &lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Result wanted:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Company&lt;/TD&gt;&lt;TD&gt;Top n% Average Commission&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&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;$14.13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;R&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;RO&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;U&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W&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;Appreciate any suggestion.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 15:27:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584959#M166729</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2019-08-29T15:27:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584964#M166730</link>
      <description>&lt;P&gt;You find the number of observations (with non-missing value for commission) for each company, then you can figure out which are the top 20% (ignoring ties and ignoring that you can't get exactly 20% unless the number of observations for a company is a multiple of 5), then you take the mean.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc freq data=have(where=(not missing(commission)));
    table company/noprint out=_counts_;
run;
data want;
    merge have(where=(not missing(commission))) _counts_;
    by company;
    if first.company then sequence=0;
    sequence+1;
    if sequence/count&amp;lt;=0.2 then output;
run;
proc means data=want;
    by company;
    var commission;
run;
    &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Also, for company W which has only 3 observations, this method returns nothing.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 15:38:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584964#M166730</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-08-29T15:38:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584973#M166732</link>
      <description>&lt;P&gt;Please try the below code&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Company$	Commission:dollar6.;
cards;
I $17.75
I $15.00
I $15.00
I $13.00
I $12.50
I $10.00
I $10.00
I $9.89
I $9.15
I $9.00
I $9.00
I $8.75
I $8.50
I $8.00
I $7.25
F $15.50
F $14.00
F $14.00
F $13.00
F $13.00
F $12.50
F $12.00
F $12.00
F $12.00
F $11.50
F $11.50
F $11.50
F $11.00
F $10.50
F $10.45
F $10.00
F $10.00
F $10.00
F $9.00
;

proc sort data=have;
by company descending Commission ;
run;

data have2;
set have;
by company;
retain row;
if first.company then row=1;
else row+1;
run;

proc sql;
create table want as select company, avg(Commission) as avg from (select company, Commission,row, round((count(*)*20)/100,1) as cnt from have2 group by company having row&amp;lt;=calculated cnt) group by company;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 29 Aug 2019 15:46:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584973#M166732</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2019-08-29T15:46:53Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584978#M166734</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/155169"&gt;@d0816&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You have two answers. Just for fun I give another One Step Data Step. Your Data is presorted as you have claimed. Assuming your Data Set is named as 'HAVE' here comes:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   do _n = 1 by 1 until(last.Company);
      set have;
      by Company;
   end;
   sampsize = ceil(_n * 0.20);
   sum = 0;
   do _n = 1 by 1 until(last.Company);
      set have;
      by Company;
      if _n &amp;lt;= sampsize then sum + Commission;
      if last.Company then mean_Commision = sum / sampsize;
   end;
drop Commission;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I have not dropped the intermediate variables used in the program for the sake giving you additional information. Here is the output:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;obs 	_n 	Company 	sampsize 	sum 	mean_Commision
1 	15 	I 	3 	47.70 	15.9000
2 	19 	F 	4 	56.50 	14.1250
3 	21 	M 	5 	74.70 	14.9400
4 	11 	R 	3 	46.80 	15.6000
5 	16 	RO 	4 	66.29 	16.5725
6 	12 	U 	3 	40.90 	13.6333
7 	3 	W 	1 	15.00 	15.0000&lt;/PRE&gt;</description>
      <pubDate>Thu, 29 Aug 2019 16:04:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584978#M166734</guid>
      <dc:creator>KachiM</dc:creator>
      <dc:date>2019-08-29T16:04:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584981#M166735</link>
      <description>&lt;P&gt;1. Use PROC RANK to group your data into the appropriate buckets. GROUPS=5 will create 5 groups that are each 20% of the data.&lt;/P&gt;
&lt;P&gt;2. Use PROC MEANS to calculate the summary by company and calculated RANK.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=company;
by company commission;
run;

proc rank data=have out=grouped groups=5;
by company;
var commission;
ranks commission_rank;
run;

proc means data=grouped noprint;
by company commission_rank;
var commission;
output out=want mean(commission) = avg_commission;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;This will provide the mean for all companies at all ranks.&lt;/P&gt;
&lt;P&gt;You can easily filter this out to get just the top ranks though by adding another step. Then when you want to change your % you can change the GROUPS value.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want_filtered as
select *
from want
group by company, commission_rank
having commission_rank = max(commission_rank);
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/155169"&gt;@d0816&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I have following sample data which I sorted by company and Commission (high to low) (original dataset is more than 3000 rows). For each of the company, I want to take top 20% commission data and calculate average of that top 20% only, (not all data for a company) with a flexibility to change the top n%. How can I do this?&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;Company&lt;/TD&gt;
&lt;TD&gt;Commission&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$17.75&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$15.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$15.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$13.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$12.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$9.89&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$9.15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$9.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$9.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$8.75&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$8.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$8.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&lt;/TD&gt;
&lt;TD&gt;$7.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$15.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$14.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$14.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$13.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$13.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$12.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$12.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$12.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$12.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$11.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$11.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$11.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$11.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$10.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$10.45&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;$9.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$17.29&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$15.91&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$14.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$13.99&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$13.55&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$13.54&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$13.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$12.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$12.06&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$11.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$11.31&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$11.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$11.15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$9.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$8.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$7.80&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;$7.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$18.29&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$15.60&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$13.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$11.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$11.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$11.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$9.56&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$9.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;$0.14&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$18.54&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$16.75&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$15.75&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$15.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$14.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$13.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$13.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$13.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$12.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$10.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$9.95&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$9.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$9.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;$9.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$15.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$13.90&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$12.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$12.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$11.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$11.07&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$11.07&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$11.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$10.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$9.25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;$2.33&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;W&lt;/TD&gt;
&lt;TD&gt;$15.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;W&lt;/TD&gt;
&lt;TD&gt;$12.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;W&lt;/TD&gt;
&lt;TD&gt;$9.50&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For e.g. Company F has 20 rows, top 20% would be first 4 rows (because it&amp;nbsp;is already sorted by&amp;nbsp;commission for a company)&amp;nbsp;and calculating average of those 4 commission data.&lt;/P&gt;
&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;Company&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;Commission&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;F&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;$15.50 &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;F&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;$14.00 &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;F&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;$14.00 &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;F&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face="Calibri" size="3" color="#000000"&gt;$13.00 &lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Result wanted:&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;Company&lt;/TD&gt;
&lt;TD&gt;Top n% Average Commission&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;I&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;$14.13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;R&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;RO&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;U&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;W&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;Appreciate any suggestion.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 16:31:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584981#M166735</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-08-29T16:31:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584985#M166737</link>
      <description>&lt;P&gt;The answers from&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/17813"&gt;@KachiM&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12151"&gt;@Jagadishkatam&lt;/a&gt;&amp;nbsp;don't take into account that some of the original data has missing commission values, and so will give the wrong answer.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 16:41:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/584985#M166737</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-08-29T16:41:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585003#M166741</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The data step program does not change.&amp;nbsp; The sampsize is computed using CEIL() function. The OP may change to FLOOR() or ROUND().&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using the two missing values for F and R using the OP's Data Set, the new ouput is:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;bs 	_n 	Company 	sampsize 	sum 	mean_Commision
1 	20 	F 	4 	56.50 	14.1250
2 	15 	I 	3 	47.70 	15.9000
3 	21 	M 	5 	74.70 	14.9400
4 	12 	R 	3 	46.80 	15.6000
5 	16 	RO 	4 	66.29 	16.5725
6 	12 	U 	3 	40.90 	13.6333
7 	3 	W 	1 	15.00 	15.0000&lt;/PRE&gt;</description>
      <pubDate>Thu, 29 Aug 2019 17:23:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585003#M166741</guid>
      <dc:creator>KachiM</dc:creator>
      <dc:date>2019-08-29T17:23:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585010#M166744</link>
      <description>&lt;P&gt;The variable _n is calculated including missing values. So sampsize is wrong, and the rest of the calculations are wrong.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 17:42:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585010#M166744</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-08-29T17:42:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585012#M166745</link>
      <description>&lt;P&gt;Thank you &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I believe the below subset condition will help to get the correct answer with my code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;proc&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;sort&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;have&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token statement"&gt;by&lt;/SPAN&gt; company descending Commission &lt;SPAN class="token punctuation"&gt;;&lt;BR /&gt;where Commission  ne .;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 17:42:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585012#M166745</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2019-08-29T17:42:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585066#M166777</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;It's easy to take into account by not reading the rows where Commission is missing in the first place:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;                                                                                                                                                                                                                                                     
  input Company :$1. Commission ;                                                                                                                                                                                                                               
  cards ;                                                                                                                                                                                                                                                       
F      15.50                                                                                                                                                                                                                                                    
F      14.00                                                                                                                                                                                                                                                    
F      14.00                                                                                                                                                                                                                                                    
F      13.00                                                                                                                                                                                                                                                    
F      13.00                                                                                                                                                                                                                                                    
F      12.50                                                                                                                                                                                                                                                    
F      12.00                                                                                                                                                                                                                                                    
F      12.00                                                                                                                                                                                                                                                    
F      12.00                                                                                                                                                                                                                                                    
F      11.50                                                                                                                                                                                                                                                    
F      11.50                                                                                                                                                                                                                                                    
F      11.50                                                                                                                                                                                                                                                    
F      11.00                                                                                                                                                                                                                                                    
F      10.50                                                                                                                                                                                                                                                    
F      10.45                                                                                                                                                                                                                                                    
F      10.00                                                                                                                                                                                                                                                    
F      10.00                                                                                                                                                                                                                                                    
F      10.00                                                                                                                                                                                                                                                    
F       9.00                                                                                                                                                                                                                                                    
F        .                                                                                                                                                                                                                                                      
I      17.75                                                                                                                                                                                                                                                    
I      15.00                                                                                                                                                                                                                                                    
I      15.00                                                                                                                                                                                                                                                    
I      13.00                                                                                                                                                                                                                                                    
I      12.50                                                                                                                                                                                                                                                    
I      10.00                                                                                                                                                                                                                                                    
I      10.00                                                                                                                                                                                                                                                    
I       9.89                                                                                                                                                                                                                                                    
I       9.15                                                                                                                                                                                                                                                    
I       9.00                                                                                                                                                                                                                                                    
I       9.00                                                                                                                                                                                                                                                    
I       8.75                                                                                                                                                                                                                                                    
I       8.50                                                                                                                                                                                                                                                    
I       8.00                                                                                                                                                                                                                                                    
I       7.25                                                                                                                                                                                                                                                    
M      17.29                                                                                                                                                                                                                                                    
M      15.91                                                                                                                                                                                                                                                    
M      14.25                                                                                                                                                                                                                                                    
M      13.99                                                                                                                                                                                                                                                    
M      13.55                                                                                                                                                                                                                                                    
M      13.54                                                                                                                                                                                                                                                    
M      13.50                                                                                                                                                                                                                                                    
M      12.50                                                                                                                                                                                                                                                    
M      12.06                                                                                                                                                                                                                                                    
M      11.50                                                                                                                                                                                                                                                    
M      11.31                                                                                                                                                                                                                                                    
M      11.25                                                                                                                                                                                                                                                    
M      11.15                                                                                                                                                                                                                                                    
M      10.00                                                                                                                                                                                                                                                    
M      10.00                                                                                                                                                                                                                                                    
M      10.00                                                                                                                                                                                                                                                    
M      10.00                                                                                                                                                                                                                                                    
M       9.00                                                                                                                                                                                                                                                    
M       8.00                                                                                                                                                                                                                                                    
M       7.80                                                                                                                                                                                                                                                    
M       7.25                                                                                                                                                                                                                                                    
R      18.29                                                                                                                                                                                                                                                    
R      15.60                                                                                                                                                                                                                                                    
R      13.00                                                                                                                                                                                                                                                    
R      11.00                                                                                                                                                                                                                                                    
R      11.00                                                                                                                                                                                                                                                    
R      11.00                                                                                                                                                                                                                                                    
R      10.00                                                                                                                                                                                                                                                    
R      10.00                                                                                                                                                                                                                                                    
R      9.56                                                                                                                                                                                                                                                     
R      9.00                                                                                                                                                                                                                                                     
R      0.14                                                                                                                                                                                                                                                     
R       .                                                                                                                                                                                                                                                       
RO    18.54                                                                                                                                                                                                                                                     
RO    16.75                                                                                                                                                                                                                                                     
RO    15.75                                                                                                                                                                                                                                                     
RO    15.25                                                                                                                                                                                                                                                     
RO    14.00                                                                                                                                                                                                                                                     
RO    13.25                                                                                                                                                                                                                                                     
RO    13.00                                                                                                                                                                                                                                                     
RO    13.00                                                                                                                                                                                                                                                     
RO    12.50                                                                                                                                                                                                                                                     
RO    10.50                                                                                                                                                                                                                                                     
RO    10.00                                                                                                                                                                                                                                                     
RO    10.00                                                                                                                                                                                                                                                     
RO     9.95                                                                                                                                                                                                                                                     
RO     9.25                                                                                                                                                                                                                                                     
RO     9.25                                                                                                                                                                                                                                                     
RO     9.00                                                                                                                                                                                                                                                     
U     15.00                                                                                                                                                                                                                                                     
U     13.90                                                                                                                                                                                                                                                     
U     12.00                                                                                                                                                                                                                                                     
U     12.00                                                                                                                                                                                                                                                     
U     11.50                                                                                                                                                                                                                                                     
U     11.07                                                                                                                                                                                                                                                     
U     11.07                                                                                                                                                                                                                                                     
U     11.00                                                                                                                                                                                                                                                     
U     10.00                                                                                                                                                                                                                                                     
U     10.00                                                                                                                                                                                                                                                     
U      9.25                                                                                                                                                                                                                                                     
U      2.33                                                                                                                                                                                                                                                     
W     15.00                                                                                                                                                                                                                                                     
W     12.00                                                                                                                                                                                                                                                     
W      9.50                                                                                                                                                                                                                                                     
;                                                                                                                                                                                                                                                               
run ;                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                
%let PCT = 20 ;                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                
data want (drop = commission) ;                                                                                                                                                                                                                                 
  do _n_ = 1 by 1 until (last.company) ;                                                                                                                                                                                                                        
    set have (where=(N(commission))) ;                                                                                                                                                                                                                          
    by company ;                                                                                                                                                                                                                                                
  end ;                                                                                                                                                                                                                                                         
  N = floor (_n_ * &amp;amp;PCT / 100) ;                                                                                                                                                                                                                                  
  do _n_ = 1 to _n_ ;                                                                                                                                                                                                                                           
    set have (where=(N(commission))) ;                                                                                                                                                                                                                          
    if _n_ &amp;lt;= N then Sum = sum (Sum, commission) ;                                                                                                                                                                                                              
  end ;                                                                                                                                                                                                                                                         
  Mean = divide (Sum, N) ;                                                                                                                                                                                                                                      
run ;                                                           
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;As&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/17813"&gt;@KachiM&lt;/a&gt;&amp;nbsp;has pointed out, FLOOR can be replaced with another function the OP may find more suitable depending on more detailed specs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards&lt;/P&gt;
&lt;P&gt;Paul D.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 19:54:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585066#M166777</guid>
      <dc:creator>hashman</dc:creator>
      <dc:date>2019-08-29T19:54:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585093#M166791</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21262"&gt;@hashman&lt;/a&gt;, I did not understand the part where you said&amp;nbsp; "FLOOR can be replaced with another function the OP may find more suitable depending on more detailed specs".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank&amp;nbsp;you for&amp;nbsp;all the discussion going on in this thread. I am trying the code and figuring out how it is working.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 21:06:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585093#M166791</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2019-08-29T21:06:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585094#M166792</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21262"&gt;@hashman&lt;/a&gt;,Thank&amp;nbsp;you for&amp;nbsp;replying. I am trying the code and figuring out how it is working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;About "The OP may change to FLOOR() or ROUND()", when&amp;nbsp;should&amp;nbsp;FLOOR() or ROUND() be used?&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;</description>
      <pubDate>Thu, 29 Aug 2019 21:11:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585094#M166792</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2019-08-29T21:11:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585100#M166797</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/155169"&gt;@d0816&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;Meaning FLOOR or CEIL can be chosen depending on the business specs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As an example, if you have PCT=20 and N=17 records in a group by COMPANY, the 20 percent is 3.4 records. If in the case of such a split the specs call for 3 records to be counted, you'd use FLOOR; if they call for 4 records, you use CEIL. Note that FLOOR will result in no records included at all if N*PCT/100 &amp;lt; 1 (e.g. if with PCT=20 you have N&amp;lt;5).&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards&lt;/P&gt;
&lt;P&gt;Paul D.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 22:05:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585100#M166797</guid>
      <dc:creator>hashman</dc:creator>
      <dc:date>2019-08-29T22:05:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585103#M166800</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/155169"&gt;@d0816&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21262"&gt;@hashman&lt;/a&gt;, I did not understand the part where you said&amp;nbsp; "FLOOR can be replaced with another function the OP may find more suitable depending on more detailed specs".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank&amp;nbsp;you for&amp;nbsp;all the discussion going on in this thread. I am trying the code and figuring out how it is working.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If you're a beginner I would recommend using one of the simpler solutions you can understand and modify on your own.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 22:22:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585103#M166800</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-08-29T22:22:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585173#M166828</link>
      <description>&lt;P&gt;I like the answer by &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;&amp;nbsp;best, better than my own answer. I like it best because it uses PROC RANK which automatically handles the missing values properly and correctly. I also like that it uses PROC MEANS, rather than data step code to do the calculations of the mean value. Especially for beginners, PROC MEANS is much easier (and it is a much more tested and therefore less risky) than any data step code to calculate the mean. That is one of the main benefits of SAS, they have done the hard work to create the algorithms, verify the algorithms and also provide the proper handling of missings. PROC RANK also offers a number of options on how to handle ties, which none of the other solutions do (not even my solution).&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Aug 2019 11:58:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585173#M166828</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-08-30T11:58:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585240#M166867</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I respect your views. But I differ from you.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;"Especially for beginners, PROC MEANS is much easier (and it is a much more tested and therefore less risky) than any data step code to calculate the mean.&amp;nbsp;"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I believe that the OP will choose a solution that is convenient to him. He might also be interested to learn other solutions. Besides, there are several others who wish to to learn Data Step Programming in the Community. I further believe that adding and dividing is not more risky for SAS Programmers.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Kind regards&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;DATASP&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Aug 2019 15:17:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585240#M166867</guid>
      <dc:creator>KachiM</dc:creator>
      <dc:date>2019-08-30T15:17:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585311#M166903</link>
      <description>&lt;P&gt;I have no objections to people learning data steps and deciding what code to use that is best for them. In fact, every SAS programmer needs to learn how to do things in data steps, because data steps can perform a wide variety of extremely useful tasks, many of which cannot be performed in any other way in SAS.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But when I advise people on what to do, I will advise what I said, that using a SAS PROC to perform a task (if such a PROC exists) is what I advise.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/17813"&gt;@KachiM&lt;/a&gt;&amp;nbsp;wrote:
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I further believe that adding and dividing is not more risky for SAS Programmers.&lt;/SPAN&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;BR /&gt;And as we have seen in this thread, data is presented with missing values, and people have written data step code that doesn't properly account for the missing values and produces the wrong answer ... in other words, it is more risky.&lt;/P&gt;</description>
      <pubDate>Sat, 31 Aug 2019 12:06:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585311#M166903</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-08-31T12:06:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585328#M166905</link>
      <description>I've actually caught this mistake a few times across code reviews - which is why we also introduced a coding standard similar to what Paige has recommeded. &lt;BR /&gt;&lt;BR /&gt;We also prioritize programming time over run time. Run time doesn't cost me money, programming time does. You need to optimize the right metrics, which varies from situation to situation.</description>
      <pubDate>Fri, 30 Aug 2019 18:57:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585328#M166905</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-08-30T18:57:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585369#M166922</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;gt;&lt;SPAN&gt;We also prioritize programming time over run time. Run time doesn't cost me money, programming time does.&amp;lt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Hope you realize that priorities like these depend on the nature of "we", that of the task, specific platform, data volume, how much time you have to run your programs, whether they can be run repeatedly based on the latter, etc. Run time may not cost &lt;EM&gt;you&lt;/EM&gt; money. However, elsewhere it not only can cost a lot of money but makes the very difference between a job having been done on time and not done at all.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;An example: &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Suppose that a programmer was tasked with piecing together an ETL process that starts at 21:00 and must run overnight, as the analysts enterprise-wide absolutely must have their updated data by 7:00. Suppose further that he spent a remarkably short time to program it correctly from the standpoint of the output data, except it has a few wrinkles, such as any of the following:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;takes 15 hours to run&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;bombs due to insufficient resources after running for 8 hours&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;gobbles up so much system resources that it causes other critical processes running in parallel to abend&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;other side effects, too numerous to mention here&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;Would the client for whom this kind of work is done will be elated to hear from this programmer that he has saved them money by prioritizing programming time over run time? I suppose it's a rhetorical question...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Kind regards&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Paul D.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Aug 2019 23:32:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585369#M166922</guid>
      <dc:creator>hashman</dc:creator>
      <dc:date>2019-08-30T23:32:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate average by variable and with conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585679#M167078</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21262"&gt;@hashman&lt;/a&gt;&amp;nbsp;of course, that's why I said 'we' and didn't generalize that statement. But I do have control over my team and can make those decisions accordingly. I'm in the camp of developer time is more important. IME, if you have more time, you also have time to improve your skill set and keep up with what the best methods are so you don't often run into time issues anyways because you're aware of the most efficient methods to develop solutions. Everything is relative.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Sep 2019 02:47:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-average-by-variable-and-with-conditions/m-p/585679#M167078</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-09-03T02:47:20Z</dc:date>
    </item>
  </channel>
</rss>

