<?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: Top nth row then sum by-group remaining rows in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/640139#M21722</link>
    <description>&lt;P&gt;I think you overlooked this part of my response:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;Then in the DATA WANT step, create and manage the variables _total_weight and _total_cost the same way as you manage _total_visits.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;Don't you intend to do the same for WEIGHT and COST as you did for VISITs - namely take a total and then keep subtracting each subtotal maintain a residual, to be assigned when r_visits=4?&lt;/P&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;Also, I can't get your initial DATA step to work - perhaps you've collapsed tab characters in the data lines, which defeats the field alignments implied by the input formats.&amp;nbsp; I'm too lazy to fix each data line one at a time.&lt;/P&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 15 Apr 2020 16:55:24 GMT</pubDate>
    <dc:creator>mkeintz</dc:creator>
    <dc:date>2020-04-15T16:55:24Z</dc:date>
    <item>
      <title>Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/596361#M15929</link>
      <description>&lt;P&gt;SAS community (1st time messaging)&lt;/P&gt;&lt;P&gt;I am stuck trying to determine the last part of my code.&amp;nbsp; Following are made up medical data were patients sought specialty care in the surrounding community (city, state).&amp;nbsp; Desired output should array data by CLINIC, PRODUCT_LINE, and VISITS.&amp;nbsp; I want to list only (by-CLINIC and by PRODUCT_LINE) the top three rows including VISITS&amp;nbsp;(descending order); thereafter, row four should sum the remaining PRODUCT_LINE VISITS.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DATA&lt;/STRONG&gt;&amp;nbsp;CARE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INPUT PRODUCT_LINE$12. CITY$12. ST$3. CLINIC$5. VISITS &lt;STRONG&gt;4.0&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LENGTH CITYST $20. ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; CITYST=CITY||'_'||ST&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDS&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 300&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; LUBBOCK&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110&amp;nbsp; 50&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; BUDA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 300&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; BANDERA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; SAN ANTONIO TX 0110&amp;nbsp; 20&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 100&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; SAN ANTONIO TX 0110&amp;nbsp; 50&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; SAN ANTONIO TX 0110&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 100&lt;/P&gt;&lt;P&gt;CARDIOLOGY&amp;nbsp;&amp;nbsp; TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 100&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt; &lt;STRONG&gt;SUMMARY&lt;/STRONG&gt; data=CARE nway&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; var VISITS ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; class CLINIC PRODUCT_LINE CITYST&amp;nbsp; / missing ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; output out=CARE_TEST3 (drop=_TYPE_ _FREQ_) sum=VISITS&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt; &lt;STRONG&gt;SORT&lt;/STRONG&gt; DATA=CARE_TEST3&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BY CLINIC&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt; &lt;STRONG&gt;RANK&lt;/STRONG&gt; DATA=CARE_TEST3 OUT=V_TEST DESCENDING&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BY CLINIC PRODUCT_LINE ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VAR VISITS&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RANKS R_VISITS&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;RUN&lt;/STRONG&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt; &lt;STRONG&gt;SORT&lt;/STRONG&gt; DATA=V_TEST&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BY CLINIC PRODUCT_LINE R_VISITS CITYST&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE R_VISITS &amp;lt;=&lt;STRONG&gt;3&lt;/STRONG&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SORT V_TEST RAW OUTPUT&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Obs CLINIC&amp;nbsp; PRODUCT_LINE CITYST&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VISITS&amp;nbsp; &amp;nbsp;R_VISITS&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _TX&amp;nbsp; &amp;nbsp;800&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUDA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _TX&amp;nbsp; &amp;nbsp; 300&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BANDERA&amp;nbsp; &amp;nbsp;_TX&amp;nbsp; &amp;nbsp; 200&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DESIRED CARDIOLOGY OUTPUT:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Obs CLINIC PRODUCT_LINE&amp;nbsp; CITYST&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;VISITS&amp;nbsp; &amp;nbsp; R_VISITS&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _TX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUDA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_TX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BANDERA&amp;nbsp; &amp;nbsp; &amp;nbsp; _TX&amp;nbsp; &amp;nbsp; &amp;nbsp; 200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARE_ELSEWHERE 130&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance for any help!&lt;/P&gt;</description>
      <pubDate>Mon, 14 Oct 2019 20:21:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/596361#M15929</guid>
      <dc:creator>boricuanalyst</dc:creator>
      <dc:date>2019-10-14T20:21:19Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/596380#M15932</link>
      <description>&lt;P&gt;I don't think you need proc rank.&amp;nbsp; And I also suggest you let proc summary not only provide the 3-way (clinic*product_line*cityst) total VISITS (with _type_=7), but also the other marginal totals - in particular _TYPE_=6&amp;nbsp; (marginal totals for clinic*product_line).&amp;nbsp; Then you can&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&amp;nbsp;Read in the _type_=6 to get total_visits,&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;Then read (in descending VISIT order) the individual VISIT counts, continuously decrementing total_visits&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;When you get to r_visit=4 copy the remaining total_visits to visits:&lt;/LI&gt;
&lt;/OL&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA CARE                    ;
  INPUT PRODUCT_LINE$12. CITY$12. ST$3. CLINIC$5. VISITS 4.0;
  LENGTH CITYST $20. ;
  CITYST=CITY||'_'||ST  ;
CARDS  ;
CARDIOLOGY   TEMPLE      TX 0110 200let 
CARDIOLOGY   TEMPLE      TX 0110 300
CARDIOLOGY   LUBBOCK     TX 0110  50
CARDIOLOGY   BUDA        TX 0110 300
CARDIOLOGY   BANDERA     TX 0110 200
CARDIOLOGY   SAN ANTONIO TX 0110  20
CARDIOLOGY   TEMPLE      TX 0110 100
CARDIOLOGY   SAN ANTONIO TX 0110  50
CARDIOLOGY   SAN ANTONIO TX 0110  10
CARDIOLOGY   TEMPLE      TX 0110 100
CARDIOLOGY   TEMPLE      TX 0110 100
RUN  ;
 
PROC SUMMARY data=CARE  ;
  var VISITS ;
  class CLINIC PRODUCT_LINE CITYST  / missing ;
  output out=CARE_TEST3 (drop=_FREQ_) sum=VISITS   ;
run  ;

proc sort data=care_test3 (where=(_type_=6 or _type_=7));
  by clinic product_line _type_ descending visits;
run;

data want (drop=_:);
  set care_test3 ;
  retain _total_visits r_visits;
  if _type_=6 then do;
    _total_visits=visits;
    r_visits=0;
  end;
  if _type_=7;
  r_visits+1;
  if r_visits&amp;lt;=3 then do;
    output;
    _total_visits=_total_visits-visits;
  end;
  else if r_visits=4 then do;
    visits=_total_visits;
    cityst='CARE_ELSEWHERE';
    output;
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note the PROC SORT reads in only the _TYPE_=6 and _TYPE_=7 records produced by PROC SUMMARY.&amp;nbsp; And the sort sorts the data by CLINIC/PRODUCT_LINE.&amp;nbsp; Within each CLINIC/PRODUCT_LINE there will be only one _TYPE_=6 record, followed by the _TYPE_=7 records, which are sorted by descending visit.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The sort output if read, and every time there is a _TYPE_=6 record, _TOTAL_VISITS is reset and r_visit is set to 0.&amp;nbsp; For each _type_=7 record, r_visit is incremented, the data is output (for r_visit&amp;lt;=3), and _TOTAL_VISITS is decremented by VISITS.&amp;nbsp; So when r_visit=4 is encountered it just outputs the updated _TOTAL_VISTS (copied to VISITS).&lt;/P&gt;</description>
      <pubDate>Mon, 14 Oct 2019 22:15:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/596380#M15932</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2019-10-14T22:15:10Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/596404#M15938</link>
      <description>&lt;P&gt;&lt;SPAN&gt;mkeintz, t&lt;/SPAN&gt;&lt;SPAN&gt;hank you for the prompt response.&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV class="yiv3055381567ydpaa14a5a4yahoo-style-wrap"&gt;The code worked exactly as desired ... beautifully.&amp;nbsp; Question!&amp;nbsp; I am trying to understand the '(where=(_type_6 or _type_7))' code.&amp;nbsp; Since VISITS can/will reach in the thousands for multiple CITYST throughout the US, if CITYST is &amp;gt;20+ will the aforementioned code still work?&lt;/DIV&gt;&lt;DIV class="yiv3055381567ydpaa14a5a4yahoo-style-wrap"&gt;Thanks again.&lt;/DIV&gt;</description>
      <pubDate>Tue, 15 Oct 2019 01:54:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/596404#M15938</guid>
      <dc:creator>boricuanalyst</dc:creator>
      <dc:date>2019-10-15T01:54:07Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/596419#M15942</link>
      <description>&lt;P&gt;Edit note:&amp;nbsp; I've combined the original answer plus the follow-up, so that the response marked as "solution" makes sense:&lt;/P&gt;
&lt;DIV class="reply-to-stamp"&gt;&lt;SPAN class="reply-author"&gt;&lt;A href="https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/596361#M15929" target="_blank" rel="noopener"&gt;Posted in reply to&lt;/A&gt; &lt;SPAN title="Message from 2019-10-14"&gt;boricuanalyst&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P class="lia-message-dates lia-message-post-date lia-component-post-date-last-edited"&gt;&lt;SPAN class="DateTime lia-message-posted-on lia-component-common-widget-date"&gt;&lt;SPAN title="‎2019-10-14 06:14 PM" class="local-friendly-date"&gt; yesterday &lt;/SPAN&gt;&lt;/SPAN&gt; - last edited &lt;SPAN class="DateTime lia-message-edited-on lia-component-common-widget-date"&gt;&lt;SPAN title="‎2019-10-14 06:15 PM" class="local-friendly-date"&gt; yesterday &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="lia-message-body lia-component-body" id="messagebodydisplay_0_1"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;P&gt;I don't think you need proc rank.&amp;nbsp; And I also suggest you let proc summary not only provide the 3-way (clinic*product_line*cityst) total VISITS (with _type_=7), but also the other marginal totals - in particular _TYPE_=6&amp;nbsp; (marginal totals for clinic*product_line).&amp;nbsp; Then you can&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&amp;nbsp;Read in the _type_=6 to get total_visits,&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;Then read (in descending VISIT order) the individual VISIT counts, continuously decrementing total_visits&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;When you get to r_visit=4 copy the remaining total_visits to visits:&lt;/LI&gt;
&lt;/OL&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;DATA&lt;/SPAN&gt; CARE                    &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;INPUT&lt;/SPAN&gt; PRODUCT_LINE&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;12&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; CITY&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;12&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; ST&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;3&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; CLINIC&lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;5&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; VISITS &lt;SPAN class="token number"&gt;4.0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token function"&gt;LENGTH&lt;/SPAN&gt; CITYST &lt;SPAN class="token punctuation"&gt;$&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;20&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  CITYST&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;CITY&lt;SPAN class="token operator"&gt;||&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'_'&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;||&lt;/SPAN&gt;ST  &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;CARDS&lt;/SPAN&gt;  &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
CARDIOLOGY   TEMPLE      TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;200&lt;/SPAN&gt;let 
CARDIOLOGY   TEMPLE      TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;300&lt;/SPAN&gt;
CARDIOLOGY   LUBBOCK     TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt;  &lt;SPAN class="token number"&gt;50&lt;/SPAN&gt;
CARDIOLOGY   BUDA        TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;300&lt;/SPAN&gt;
CARDIOLOGY   BANDERA     TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;200&lt;/SPAN&gt;
CARDIOLOGY   SAN ANTONIO TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt;  &lt;SPAN class="token number"&gt;20&lt;/SPAN&gt;
CARDIOLOGY   TEMPLE      TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;100&lt;/SPAN&gt;
CARDIOLOGY   SAN ANTONIO TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt;  &lt;SPAN class="token number"&gt;50&lt;/SPAN&gt;
CARDIOLOGY   SAN ANTONIO TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt;  &lt;SPAN class="token number"&gt;10&lt;/SPAN&gt;
CARDIOLOGY   TEMPLE      TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;100&lt;/SPAN&gt;
CARDIOLOGY   TEMPLE      TX &lt;SPAN class="token number"&gt;0110&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;100&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;RUN&lt;/SPAN&gt;  &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
 
&lt;SPAN class="token procnames"&gt;PROC&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;SUMMARY&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;CARE  &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;var&lt;/SPAN&gt; VISITS &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token statement"&gt;class&lt;/SPAN&gt; CLINIC PRODUCT_LINE CITYST  &lt;SPAN class="token operator"&gt;/&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;missing&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  output out&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;CARE_TEST3 &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token keyword"&gt;drop&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;_FREQ_&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;sum&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;VISITS   &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;  &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&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;care_test3 &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token statement"&gt;where&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;_type_&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;6&lt;/SPAN&gt; or _type_&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;7&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token statement"&gt;by&lt;/SPAN&gt; clinic product_line _type_ descending visits&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; want &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token keyword"&gt;drop&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;_:&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;set&lt;/SPAN&gt; care_test3 &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;retain&lt;/SPAN&gt; _total_visits r_visits&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; _type_&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;6&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; do&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    _total_visits&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;visits&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    r_visits&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; _type_&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;7&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  r_visits&lt;SPAN class="token operator"&gt;+&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; r_visits&lt;SPAN class="token operator"&gt;&amp;lt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;3&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; do&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    output&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    _total_visits&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;_total_visits&lt;SPAN class="token operator"&gt;-&lt;/SPAN&gt;visits&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="token keyword"&gt;else&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; r_visits&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;4&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; do&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    visits&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;_total_visits&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    cityst&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'CARE_ELSEWHERE'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
    output&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
  end&lt;SPAN class="token punctuation"&gt;;&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;Note the PROC SORT reads in only the _TYPE_=6 and _TYPE_=7 records produced by PROC SUMMARY.&amp;nbsp; And the sort sorts the data by CLINIC/PRODUCT_LINE.&amp;nbsp; Within each CLINIC/PRODUCT_LINE there will be only one _TYPE_=6 record, followed by the _TYPE_=7 records, which are sorted by descending visit.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The sort output if read, and every time there is a _TYPE_=6 record, _TOTAL_VISITS is reset and r_visit is set to 0.&amp;nbsp; For each _type_=7 record, r_visit is incremented, the data is output (for r_visit&amp;lt;=3), and _TOTAL_VISITS is decremented by VISITS.&amp;nbsp; So when r_visit=4 is encountered it just outputs the updated _TOTAL_VISTS (copied to VISITS).&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&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;Response to "&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #333333; font-family: 'HelevticaNeue-light','Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;Since VISITS can/will reach in the thousands for multiple CITYST throughout the US, if CITYST is &amp;gt;20+ will the aforementioned code still work?&lt;/SPAN&gt;"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The code will work no matter how many levels of CITYST (or CLINIC or PRODUCTLINE) is in your data.&amp;nbsp; The "_TYPE_" variables only designate the "type" of aggregation, not the number of levels a class variable might have.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Let's say&amp;nbsp; you have 3 CLASS variables in proc summary, A, B, and C&amp;nbsp; (with Na, Nb, and Nc levels - including missing in your case).&amp;nbsp; Then you can have 2**3=8 "types" of totals/means/other stats.&amp;nbsp; For instance if you have&amp;nbsp;&lt;/P&gt;
&lt;P&gt;CLASS A B C, then the _type_ levels would be&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;nbsp;_type_=0 &amp;nbsp;&amp;nbsp; Global Totals &amp;nbsp;&amp;nbsp; (1 observation)&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;_type_=1 &amp;nbsp;&amp;nbsp; C one-way subtotals&amp;nbsp; (Nc observations)&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;_type_=2 &amp;nbsp;&amp;nbsp; B one-way subtotals (Nb obs)&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;_type_=3 &amp;nbsp; B*C two-way subtotals (Nb*Nc)&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;_type_=4 &amp;nbsp; A one-way subtotals (Na)&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;_type_=5&amp;nbsp; A*C two-way subtotals (Na*Nc)&lt;/LI&gt;
&lt;LI&gt;_type_=6 &amp;nbsp;&amp;nbsp; A*B &amp;nbsp; &amp;nbsp; (Na*Nb obs)&lt;/LI&gt;
&lt;LI&gt;_type_=7 &amp;nbsp;&amp;nbsp; A*B*C&amp;nbsp; (Na*Nb*Nc obs)&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Tue, 15 Oct 2019 20:58:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/596419#M15942</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2019-10-15T20:58:32Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/639362#M21665</link>
      <description>&lt;P&gt;I need to add two more measure to my input statement (weight &amp;amp; cost).&amp;nbsp; How can I incorporate the two additional measures into the 'nth sum by-group' code below? The main descending dimension&amp;nbsp;&lt;SPAN style="font-family: inherit;"&gt;should continue to be&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-family: inherit;"&gt;'visits'.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;DATA CARE                    ;
  INPUT PRODUCT_LINE$12. CITY$12. ST$3. CLINIC$5. VISITS 4.0 WEIGHT 4.0 COST 10.2 ;
  LENGTH CITYST $20. ;
  CITYST=CITY||'_'||ST  ;
CARDS  ;
CARDIOLOGY   TEMPLE      TX 0110 200 1.56 225.00
CARDIOLOGY   TEMPLE      TX 0110 300 1.56 225.00
CARDIOLOGY   LUBBOCK     TX 0110  50 2.00 275.00
CARDIOLOGY   BUDA        TX 0110 300 1.23 175.00
CARDIOLOGY   BANDERA     TX 0110 200 2.01 250.00
CARDIOLOGY   SAN ANTONIO TX 0110  20 2.89 375.00
CARDIOLOGY   TEMPLE      TX 0110 100 1.56 225.00
CARDIOLOGY   SAN ANTONIO TX 0110  50 2.89 375.00
CARDIOLOGY   SAN ANTONIO TX 0110  10 2.89 375.00
CARDIOLOGY   TEMPLE      TX 0110 100 1.56 225.00
CARDIOLOGY   TEMPLE      TX 0110 100 1.56 225.00
RUN  ;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 12 Apr 2020 20:43:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/639362#M21665</guid>
      <dc:creator>boricuanalyst</dc:creator>
      <dc:date>2020-04-12T20:43:04Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/639374#M21666</link>
      <description>I need to add two more measure to my input statement (weight &amp;amp; cost). How can I incorporate the two additional measures into the 'nth sum by-group' code? The main descending dimension should continue to be 'visits'.&lt;BR /&gt;&lt;BR /&gt;DATA CARE ;&lt;BR /&gt;INPUT PRODUCT_LINE$12. CITY$12. ST$3. CLINIC$5. VISITS 4.0 WEIGHT 4.0 COST 10.2 ;&lt;BR /&gt;LENGTH CITYST $20. ;&lt;BR /&gt;CITYST=CITY||'_'||ST ;&lt;BR /&gt;CARDS ;&lt;BR /&gt;CARDIOLOGY TEMPLE TX 0110 200 1.56 225.00&lt;BR /&gt;CARDIOLOGY TEMPLE TX 0110 300 1.56 225.00&lt;BR /&gt;CARDIOLOGY LUBBOCK TX 0110 50 2.00 275.00&lt;BR /&gt;CARDIOLOGY BUDA TX 0110 300 1.23 175.00&lt;BR /&gt;CARDIOLOGY BANDERA TX 0110 200 2.01 250.00&lt;BR /&gt;CARDIOLOGY SAN ANTONIO TX 0110 20 2.89 375.00&lt;BR /&gt;CARDIOLOGY TEMPLE TX 0110 100 1.56 225.00&lt;BR /&gt;CARDIOLOGY SAN ANTONIO TX 0110 50 2.89 375.00&lt;BR /&gt;CARDIOLOGY SAN ANTONIO TX 0110 10 2.89 375.00&lt;BR /&gt;CARDIOLOGY TEMPLE TX 0110 100 1.56 225.00&lt;BR /&gt;CARDIOLOGY TEMPLE TX 0110 100 1.56 225.00&lt;BR /&gt;RUN ;&lt;BR /&gt;&lt;BR /&gt;PROC SUMMARY data=CARE ;&lt;BR /&gt;var VISITS ;&lt;BR /&gt;class CLINIC PRODUCT_LINE CITYST / missing ;&lt;BR /&gt;output out=CARE_TEST3 (drop=_FREQ_) sum=VISITS ;&lt;BR /&gt;run ;&lt;BR /&gt;&lt;BR /&gt;proc sort data=care_test3 (where=(_type_=6 or _type_=7));&lt;BR /&gt;by clinic product_line _type_ descending visits;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data want (drop=_:);&lt;BR /&gt;set care_test3 ;&lt;BR /&gt;retain _total_visits r_visits;&lt;BR /&gt;if _type_=6 then do;&lt;BR /&gt;_total_visits=visits;&lt;BR /&gt;r_visits=0;&lt;BR /&gt;end;&lt;BR /&gt;if _type_=7;&lt;BR /&gt;r_visits+1;&lt;BR /&gt;if r_visits&amp;lt;=3 then do;&lt;BR /&gt;output;&lt;BR /&gt;_total_visits=_total_visits-visits;&lt;BR /&gt;end;&lt;BR /&gt;else if r_visits=4 then do;&lt;BR /&gt;visits=_total_visits;&lt;BR /&gt;cityst='CARE_ELSEWHERE';&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;run;</description>
      <pubDate>Sun, 12 Apr 2020 22:14:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/639374#M21666</guid>
      <dc:creator>boricuanalyst</dc:creator>
      <dc:date>2020-04-12T22:14:53Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/639952#M21717</link>
      <description>&lt;P&gt;By "&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 1.7142; orphans: 2; overflow-wrap: break-word; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;incorporate the two additional measures into the 'nth sum by-group' code&lt;/SPAN&gt;", do you mean that you want the sum of the WEIGHT and COST for each of the locations with the most visits?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If so, why not add the WEIGHT and COST to the VAR statement in proc summary, and also adjust the OUTPUT statement?&amp;nbsp; You can review the documentation on the OUTPUT statement in PROC SUMMARY to see how to get WEIGHT and COST to hold totals.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then in the DATA WANT step, create and manage the variables _total_weight and _total_cost the same way as you manage _total_visits.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2020 03:19:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/639952#M21717</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-04-15T03:19:53Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/640090#M21721</link>
      <description>&lt;P&gt;Apologies for my lack of specificity.&amp;nbsp; I did tried several versions of adding the new measure 'PAID' (same as COST) to the SAS code (VAR and OUTPUT statement) but the summation of PAID appears to be inaccurate.&amp;nbsp; In PROC SORT 2 (see below results) amount PAID for Cardiology CARE_ELSEWHERE should be 1400, not 1125.&amp;nbsp; First, I tried sum=VISITS sum=PAID ; run ; ... but PAID seemed to copy over exact values as VISITS.&amp;nbsp; Secondly, I tried sum= ; run; ... this version worked best but PAID summation for CARE_ELSEWHERE is suspect.&amp;nbsp; What am I doing wrong?&amp;nbsp; Thanks in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DATA HOLLYWOODSQ ;&lt;BR /&gt;&lt;BR /&gt;INPUT PRODUCT_LINE$12. CITY$12. ST$3. CLINIC$5. VISITS 4.0 PAID 10.2 ;&lt;BR /&gt;LENGTH CITYST $20. ;&lt;/P&gt;&lt;P&gt;CITYST=CATS(CITY,'_',ST) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;CARDS ;&lt;BR /&gt;CARDIOLOGY TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200 225.00&lt;BR /&gt;DERMATOLOGY AUSTIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200 300.00&lt;BR /&gt;INTERNAL MED SAN ANTONIO TX 0110 200 375.00&lt;BR /&gt;CARDIOLOGY TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 300 225.00&lt;BR /&gt;DERMATOLOGY AUSTIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200 300.00&lt;BR /&gt;INTERNAL MED AUSTIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 500 300.00&lt;BR /&gt;CARDIOLOGY LUBBOCK&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110&amp;nbsp; &amp;nbsp;50 275.00&lt;BR /&gt;DERMATOLOGY SAN ANTONIO TX 0110 400 375.00&lt;BR /&gt;INTERNAL MED LUBBOCK&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 100 275.00&lt;BR /&gt;CARDIOLOGY BUDA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 300 175.00&lt;BR /&gt;DERMATOLOGY AUSTIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200 300.00&lt;BR /&gt;INTERNAL MED SAN ANTONIO TX 0110 200 375.00&lt;BR /&gt;CARDIOLOGY BANDERA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200 250.00&lt;BR /&gt;DERMATOLOGY CIBOLO&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200 250.00&lt;BR /&gt;INTERNAL MED SAN JOSE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200 150.00&lt;BR /&gt;CARDIOLOGY SAN ANTONIO&amp;nbsp; &amp;nbsp; TX 0110&amp;nbsp; &amp;nbsp;20 375.00&lt;BR /&gt;DERMATOLOGY AUSTIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 200 300.00&lt;BR /&gt;INTERNAL MED SAN ANTONIO TX 0110&amp;nbsp; &amp;nbsp;20 375.00&lt;BR /&gt;CARDIOLOGY TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 100 225.00&lt;BR /&gt;DERMATOLOGY TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 100 225.00&lt;BR /&gt;INTERNAL MED TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 100 225.00&lt;BR /&gt;CARDIOLOGY SAN ANTONIO&amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110&amp;nbsp; &amp;nbsp;50 375.00&lt;BR /&gt;CARDIOLOGY SAN ANTONIO&amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110&amp;nbsp; &amp;nbsp;10 375.00&lt;BR /&gt;INTERNAL MED AUSTIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110&amp;nbsp; &amp;nbsp;50 300.00&lt;BR /&gt;INTERNAL MED AUSTIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX 0110 200 300.00&lt;BR /&gt;DERMATOLOGY AUSTIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 100 300.00&lt;BR /&gt;DERMATOLOGY AUSTIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 100 300.00&lt;BR /&gt;CARDIOLOGY TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 100 300.00&lt;BR /&gt;CARDIOLOGY TEMPLE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX 0110 100 225.00&lt;BR /&gt;;&lt;BR /&gt;RUN ;&lt;/P&gt;&lt;P&gt;PROC SUMMARY data=HOLLYWOODSQ ;&lt;BR /&gt;var VISITS PAID;&lt;BR /&gt;class CLINIC PRODUCT_LINE CITYST / missing ;&lt;BR /&gt;output out=CARE_TEST3 (drop=_FREQ_) sum= ;&lt;BR /&gt;run ;&lt;/P&gt;&lt;P&gt;proc sort data=care_test3 (where=(_type_=6 or _type_=7));&lt;BR /&gt;by clinic product_line _type_ descending visits;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;PROC PRINT DATA=CARE_TEST3 ;&lt;BR /&gt;TITLE 'PROC SORT 1' ;&lt;BR /&gt;RUN ;&lt;/P&gt;&lt;P&gt;data want (drop=_:);&lt;BR /&gt;set care_test3 ;&lt;BR /&gt;retain _total_visits r_visits;&lt;BR /&gt;if _type_=6 then do;&lt;BR /&gt;_total_visits=visits;&lt;BR /&gt;r_visits=0;&lt;BR /&gt;end;&lt;BR /&gt;if _type_=7;&lt;BR /&gt;r_visits+1;&lt;BR /&gt;if r_visits&amp;lt;=3 then do;&lt;BR /&gt;output;&lt;BR /&gt;_total_visits=_total_visits-visits;&lt;BR /&gt;end;&lt;BR /&gt;else if r_visits=4 then do;&lt;BR /&gt;visits=_total_visits;&lt;BR /&gt;cityst='CARE_ELSEWHERE';&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;PROC PRINT DATA=WANT ;&lt;BR /&gt;TITLE 'PROC SORT 2' ;&lt;BR /&gt;RUN ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SORT 1&lt;/P&gt;&lt;P&gt;Obs CLINIC&amp;nbsp;&amp;nbsp;&amp;nbsp; PRODUCT_LINE&amp;nbsp;&amp;nbsp;&amp;nbsp; CITYST&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _TYPE_ &amp;nbsp;&amp;nbsp;&amp;nbsp;VISITS&amp;nbsp;&amp;nbsp;&amp;nbsp; PAID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1430&amp;nbsp; &amp;nbsp; 3025&lt;/P&gt;&lt;P&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPLE_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1200&lt;/P&gt;&lt;P&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUDA_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 300&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;175&lt;/P&gt;&lt;P&gt;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BANDERA_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;250&lt;/P&gt;&lt;P&gt;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAN ANTONIO_TX&amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 80&amp;nbsp; &amp;nbsp; &amp;nbsp; 1125&lt;/P&gt;&lt;P&gt;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LUBBOCK_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 275&lt;/P&gt;&lt;P&gt;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DERMATOLOGY&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1700&amp;nbsp; &amp;nbsp; &amp;nbsp;2650&lt;/P&gt;&lt;P&gt;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DERMATOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUSTIN_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1800&lt;/P&gt;&lt;P&gt;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DERMATOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAN ANTONIO_TX&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 400&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 375&lt;/P&gt;&lt;P&gt;&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DERMATOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CIBOLO_TX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 250&lt;/P&gt;&lt;P&gt;&amp;nbsp;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DERMATOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPLE_TX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 225&lt;/P&gt;&lt;P&gt;&amp;nbsp;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1570&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2675&lt;/P&gt;&lt;P&gt;&amp;nbsp;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp;&amp;nbsp;&amp;nbsp; AUSTIN_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;750&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 900&lt;/P&gt;&lt;P&gt;&amp;nbsp;14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp;&amp;nbsp;&amp;nbsp; SAN ANTONIO_TX&amp;nbsp; &amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 420&amp;nbsp; &amp;nbsp; &amp;nbsp; 1125&lt;/P&gt;&lt;P&gt;&amp;nbsp;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp;&amp;nbsp;&amp;nbsp; SAN JOSE_TX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 150&lt;/P&gt;&lt;P&gt;&amp;nbsp;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp;&amp;nbsp;&amp;nbsp; LUBBOCK_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 275&lt;/P&gt;&lt;P&gt;&amp;nbsp;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPLE_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 225&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SORT 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obs&amp;nbsp;&amp;nbsp;&amp;nbsp; CLINIC&amp;nbsp;&amp;nbsp;&amp;nbsp; PRODUCT_LINE&amp;nbsp;&amp;nbsp;&amp;nbsp; CITYST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VISITS&amp;nbsp;&amp;nbsp;&amp;nbsp; PAID&amp;nbsp;&amp;nbsp;&amp;nbsp; r_visits&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPLE_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUDA_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;300&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;175&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BANDERA_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 200&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;250&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARDIOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARE_ELSEWHERE&amp;nbsp; &amp;nbsp;130&amp;nbsp; &amp;nbsp; &amp;nbsp; 1125&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DERMATOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUSTIN_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DERMATOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAN ANTONIO_TX&amp;nbsp; &amp;nbsp; 400&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;375&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DERMATOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CIBOLO_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;250&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DERMATOLOGY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CARE_ELSEWHERE 100&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;225&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp;&amp;nbsp;&amp;nbsp; AUSTIN_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 750&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 900&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp;&amp;nbsp;&amp;nbsp; SAN ANTONIO_TX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 420&amp;nbsp; &amp;nbsp; 1125&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp;&amp;nbsp;&amp;nbsp; SAN JOSE_TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 150&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTERNAL MED&amp;nbsp;&amp;nbsp;&amp;nbsp; CARE_ELSEWHERE&amp;nbsp; &amp;nbsp;200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 275&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2020 12:56:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/640090#M21721</guid>
      <dc:creator>boricuanalyst</dc:creator>
      <dc:date>2020-04-15T12:56:32Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/640139#M21722</link>
      <description>&lt;P&gt;I think you overlooked this part of my response:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;Then in the DATA WANT step, create and manage the variables _total_weight and _total_cost the same way as you manage _total_visits.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;Don't you intend to do the same for WEIGHT and COST as you did for VISITs - namely take a total and then keep subtracting each subtotal maintain a residual, to be assigned when r_visits=4?&lt;/P&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;Also, I can't get your initial DATA step to work - perhaps you've collapsed tab characters in the data lines, which defeats the field alignments implied by the input formats.&amp;nbsp; I'm too lazy to fix each data line one at a time.&lt;/P&gt;
&lt;P style="box-sizing: border-box; color: #333333; font-family: Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 150%; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2020 16:55:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/640139#M21722</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2020-04-15T16:55:24Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/644794#M21997</link>
      <description>&lt;P&gt;Thank you, I am finally able to find time to get back to testing/coding my program (too much distraction at work).&amp;nbsp; As recommended, I added the necessary 'measure' (PAID) code and the program worked like a charm ..thank you!&amp;nbsp; I have one last tweak however!&amp;nbsp; I must add one more 'variable' (LOCATION) because I realized I need to process 'PCwant' calculation only for those healthcare records that occur outside&amp;nbsp;Market-A. To flag outside records, I added the necessary code (LOCATION/PSA); however, I get back no observations for PCwant when I execute my code.&amp;nbsp; What am I missing? … attached is my program.&lt;/P&gt;</description>
      <pubDate>Sun, 03 May 2020 02:01:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/644794#M21997</guid>
      <dc:creator>boricuanalyst</dc:creator>
      <dc:date>2020-05-03T02:01:01Z</dc:date>
    </item>
    <item>
      <title>Re: Top nth row then sum by-group remaining rows</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/644956#M22016</link>
      <description>&lt;P&gt;OMG, I finally figure out the issue. &amp;nbsp;I went back and ready your notes dated 10/14/2019. &amp;nbsp;It's working now, please disregard need for further assistance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks!&lt;/P&gt;</description>
      <pubDate>Mon, 04 May 2020 11:34:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Top-nth-row-then-sum-by-group-remaining-rows/m-p/644956#M22016</guid>
      <dc:creator>boricuanalyst</dc:creator>
      <dc:date>2020-05-04T11:34:34Z</dc:date>
    </item>
  </channel>
</rss>

