<?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/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>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2019-08-29T22:22:08Z</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>

