<?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: get only last 3rd record from last record based on by group variable  sex from sashelp.class dat in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287711#M59226</link>
    <description>&lt;PRE&gt;
DOW + index skill:


proc sort data=sashelp.class out=class;
 by sex;
run;

data want;
 do i=1 by 1 until(last.sex);
  set class;
  by sex;
 end;
 do j=1 by 1 until(last.sex);
  set class;
  by sex;
  if j=i-2 then output;
 end;
 drop i j;
run;


&lt;/PRE&gt;</description>
    <pubDate>Thu, 28 Jul 2016 03:17:53 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2016-07-28T03:17:53Z</dc:date>
    <item>
      <title>get only last 3rd record from last record based on by group variable  sex from sashelp.class dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287502#M59169</link>
      <description>&lt;P&gt;get only last 3rd record from last record based on by group variable &amp;nbsp;sex from sashelp.class dataset?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jul 2016 15:27:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287502#M59169</guid>
      <dc:creator>praveenkotte</dc:creator>
      <dc:date>2016-07-27T15:27:03Z</dc:date>
    </item>
    <item>
      <title>Re: get only last 3rd record from last record based on by group variable  sex from sashelp.class dat</title>
      <link>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287506#M59170</link>
      <description>&lt;P&gt;Since BY group processing depends on sort order you need to be more explicit. Sorted by what variable(s)?&lt;/P&gt;
&lt;P&gt;And show exactly which record(s) you want.&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jul 2016 15:42:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287506#M59170</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-07-27T15:42:01Z</dc:date>
    </item>
    <item>
      <title>Re: get only last 3rd record from last record based on by group variable  sex from sashelp.class dat</title>
      <link>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287516#M59172</link>
      <description>&lt;P&gt;i sorted sashelp.class based on sex variable.i want to get &amp;nbsp;last 3 record each by group wise?&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ronald&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;133&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Judy&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;64.3&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Name&lt;/TD&gt;&lt;TD&gt;Sex&lt;/TD&gt;&lt;TD&gt;Age&lt;/TD&gt;&lt;TD&gt;Height&lt;/TD&gt;&lt;TD&gt;Weight&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Alice&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;56.5&lt;/TD&gt;&lt;TD&gt;84&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Barbara&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;65.3&lt;/TD&gt;&lt;TD&gt;98&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Carol&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;62.8&lt;/TD&gt;&lt;TD&gt;102.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Jane&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;59.8&lt;/TD&gt;&lt;TD&gt;84.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Janet&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;62.5&lt;/TD&gt;&lt;TD&gt;112.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Joyce&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;51.3&lt;/TD&gt;&lt;TD&gt;50.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Judy&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;64.3&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Louise&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;56.3&lt;/TD&gt;&lt;TD&gt;77&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Mary&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;66.5&lt;/TD&gt;&lt;TD&gt;112&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Alfred&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;69&lt;/TD&gt;&lt;TD&gt;112.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Henry&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;63.5&lt;/TD&gt;&lt;TD&gt;102.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;James&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;57.3&lt;/TD&gt;&lt;TD&gt;83&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Jeffrey&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;62.5&lt;/TD&gt;&lt;TD&gt;84&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;John&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;59&lt;/TD&gt;&lt;TD&gt;99.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Philip&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;72&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Robert&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;64.8&lt;/TD&gt;&lt;TD&gt;128&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Ronald&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;133&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Thomas&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;57.5&lt;/TD&gt;&lt;TD&gt;85&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;William&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;66.5&lt;/TD&gt;&lt;TD&gt;112&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 27 Jul 2016 16:07:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287516#M59172</guid>
      <dc:creator>praveenkotte</dc:creator>
      <dc:date>2016-07-27T16:07:08Z</dc:date>
    </item>
    <item>
      <title>Re: get only last 3rd record from last record based on by group variable  sex from sashelp.class dat</title>
      <link>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287520#M59175</link>
      <description>&lt;P&gt;Here's one approach, not terribly fancy but realtively easy to understand.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=sashelp.class
          out =tempclass;
   by sex;
run;

data temp;
   set tempclass;
   by sex;
   retain order .;
   if first.sex then order=1;
   else order+1;
run;

proc sort data=temp; 
   by sex descending order;
run;

data want;
   set temp;
   by sex ;
   if first.sex then count=1;
   else count+1;
   if count le 3;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If you need the Want to retain the original order then sort by the included order variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note: if the original input data set is ever re-sorted by other variables the results may not be reproducible.&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jul 2016 16:25:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287520#M59175</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-07-27T16:25:29Z</dc:date>
    </item>
    <item>
      <title>Re: get only last 3rd record from last record based on by group variable  sex from sashelp.class dat</title>
      <link>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287525#M59179</link>
      <description>&lt;P&gt;&amp;nbsp;My earlier post is messed up. The correct one is presenetd.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[1] The first solution is relatively easy. Use your sorted data and find the number of Females and Males(9,10) and the number of observations(19). It is better to create CLASS data set from SASHELP.CLASS for playing with it.&lt;/P&gt;&lt;P&gt;[2] From these the positions of 3rd for Females and Males are 7 and 17.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data class;
   set sashelp.class;
run;&lt;/PRE&gt;&lt;PRE&gt;proc sort data = class;
by sex;
run;

/** If Number of males and females are known in advance */
data _null_;
   do p = 7, 17;
      set class point = p;
      put _all_;
   end;
stop;
run;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If these numbers are not known then we need to find them by program.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data _null_;

   do count = 1 by 1 until(last.sex);
      set class;
      by sex;
   end;
   if sex = 'M' then call symputx('M_count', count);
   else call symputx('F_count', count);

run;

%put &amp;amp;M_count;
%put &amp;amp;F_count;&lt;/PRE&gt;&lt;P&gt;Hope you are comfortable with Macro variables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then we are ready to go:&lt;/P&gt;&lt;PRE&gt;data _null_;
   total = &amp;amp;F_count + &amp;amp;M_count;
   M_pos = total - 2;
   do p = &amp;amp;F_count - 2, M_pos;
      set class point = p;
      put _all_;
   end;
stop;
run;&lt;/PRE&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>Wed, 27 Jul 2016 16:45:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287525#M59179</guid>
      <dc:creator>KachiM</dc:creator>
      <dc:date>2016-07-27T16:45:04Z</dc:date>
    </item>
    <item>
      <title>Re: get only last 3rd record from last record based on by group variable  sex from sashelp.class dat</title>
      <link>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287711#M59226</link>
      <description>&lt;PRE&gt;
DOW + index skill:


proc sort data=sashelp.class out=class;
 by sex;
run;

data want;
 do i=1 by 1 until(last.sex);
  set class;
  by sex;
 end;
 do j=1 by 1 until(last.sex);
  set class;
  by sex;
  if j=i-2 then output;
 end;
 drop i j;
run;


&lt;/PRE&gt;</description>
      <pubDate>Thu, 28 Jul 2016 03:17:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/get-only-last-3rd-record-from-last-record-based-on-by-group/m-p/287711#M59226</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-07-28T03:17:53Z</dc:date>
    </item>
  </channel>
</rss>

