<?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: Second max Sales for each state in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730960#M227675</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=US_Sales out=sales_data (keep = state Sales);
	by  State descending Sales ;
	run;

	data ex (keep=State Region Sales);
	set sales_data;
	by descending Sales ;
	if first.State then row=0;
	row+1;
	if row=2;proc print;
	run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I want second max&amp;nbsp; sales for each state but it give in EX dataset only indiana&amp;nbsp; but it gives different output&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;i want below output&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;select State, max(Sales) as value&lt;BR /&gt;from (select * from US_Sales group by State having max(Sales) ne Sales)&lt;BR /&gt;/*where State in ('Arizona','New York')*/&lt;BR /&gt;group by State ;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Anandkvn_0-1617363181257.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/56841iBC848ED5E071BCA1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Anandkvn_0-1617363181257.png" alt="Anandkvn_0-1617363181257.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 02 Apr 2021 11:33:51 GMT</pubDate>
    <dc:creator>BrahmanandaRao</dc:creator>
    <dc:date>2021-04-02T11:33:51Z</dc:date>
    <item>
      <title>Second max Sales for each state</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730912#M227664</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc import datafile = "C:\Users\xxxx\Desktop\US_Sales.xlsx"
out=US_Sales
dbms=xlsx;
run;


proc sort data = US_Sales;
by descending  Sales  ;
run;

data Second_Max (Keep=Country  City State Region Sales);
set US_Sales;
by    descending   Sales;
if first.Sales then row = 0;
row + 1;
if row = 2 ;		proc print;
run;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;proc means data=US_Sales;&lt;BR /&gt;class State Region /descending;&lt;BR /&gt;var Sales ;&lt;BR /&gt;output out=grouped sum=;&lt;BR /&gt;run;&lt;BR /&gt;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;How to&amp;nbsp; find Second max Sales for each state wise&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Apr 2021 05:27:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730912#M227664</guid>
      <dc:creator>BrahmanandaRao</dc:creator>
      <dc:date>2021-04-02T05:27:54Z</dc:date>
    </item>
    <item>
      <title>Re: Second max Sales for each state</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730918#M227668</link>
      <description>&lt;P&gt;See if you can use this as a template.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data = sashelp.class out = class;
   by sex height;
run;

data want(drop = c);
   set class;
   by sex;
   if first.sex then c = 0;
   c + 1;
   if c = 2;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 02 Apr 2021 05:33:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730918#M227668</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2021-04-02T05:33:57Z</dc:date>
    </item>
    <item>
      <title>Re: Second max Sales for each state</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730919#M227669</link>
      <description>&lt;P&gt;However, if you're not interested in the entire observation, you could use the IDGROUP Option on Proc Summary like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc summary data=sashelp.class nway noprint;
   class sex;
   var height;
   output out=want(keep = sex height_2) idgroup (max(height) out[3] (height) =) / autolabel autoname;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 02 Apr 2021 05:44:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730919#M227669</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2021-04-02T05:44:08Z</dc:date>
    </item>
    <item>
      <title>Re: Second max Sales for each state</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730929#M227671</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=US_Sales out=sales_data (keep = state, Sales);
	by  descending Sales ;
	run;

	data ex (keep=State ,Region, Sales);
	set sales_data;
	by descending Sales ;
	if first.Sales then row=0;
	row+1;
	if row=2;proc print;
	run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Its not give correct output please correct&lt;/P&gt;</description>
      <pubDate>Fri, 02 Apr 2021 09:15:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730929#M227671</guid>
      <dc:creator>BrahmanandaRao</dc:creator>
      <dc:date>2021-04-02T09:15:14Z</dc:date>
    </item>
    <item>
      <title>Re: Second max Sales for each state</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730945#M227672</link>
      <description>&lt;P&gt;Sort by state and descending sales, and start your counter variable at first.state.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Apr 2021 10:00:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730945#M227672</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-04-02T10:00:30Z</dc:date>
    </item>
    <item>
      <title>Re: Second max Sales for each state</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730958#M227674</link>
      <description>&lt;P&gt;Also try proc ranks.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data = sashelp.class out = class;
   by sex height;
run;
proc rank data = class out = want descending ties=dense;
   by sex ;
 var height;
 ranks rank_height;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 02 Apr 2021 11:17:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730958#M227674</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-04-02T11:17:54Z</dc:date>
    </item>
    <item>
      <title>Re: Second max Sales for each state</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730960#M227675</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=US_Sales out=sales_data (keep = state Sales);
	by  State descending Sales ;
	run;

	data ex (keep=State Region Sales);
	set sales_data;
	by descending Sales ;
	if first.State then row=0;
	row+1;
	if row=2;proc print;
	run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I want second max&amp;nbsp; sales for each state but it give in EX dataset only indiana&amp;nbsp; but it gives different output&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;i want below output&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;select State, max(Sales) as value&lt;BR /&gt;from (select * from US_Sales group by State having max(Sales) ne Sales)&lt;BR /&gt;/*where State in ('Arizona','New York')*/&lt;BR /&gt;group by State ;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Anandkvn_0-1617363181257.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/56841iBC848ED5E071BCA1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Anandkvn_0-1617363181257.png" alt="Anandkvn_0-1617363181257.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Apr 2021 11:33:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/730960#M227675</guid>
      <dc:creator>BrahmanandaRao</dc:creator>
      <dc:date>2021-04-02T11:33:51Z</dc:date>
    </item>
    <item>
      <title>Re: Second max Sales for each state</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/731118#M227744</link>
      <description>&lt;P&gt;Read the log, and fix the problems:&lt;/P&gt;
&lt;PRE&gt; 88         data ex (keep=State Region Sales);
 89           set sales_data;
 90           by descending Sales ;
 91           if first.State then row=0;
 92           row+1;
 93           if row=2;
 94         
 95         OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 WARNING: The variable Region in the DROP, KEEP, or RENAME list has never been referenced.
 ERROR: BY variables are not properly sorted on data set WORK.SALES_DATA.
 State=Alabama Sales=3.62 FIRST.Sales=1 LAST.Sales=1 first.State=0 row=60 _ERROR_=1 _N_=61
&lt;/PRE&gt;
&lt;P&gt;Shanghai-sized hint: the BY statement in the sort and the data steps need to be the same.&lt;/P&gt;
&lt;P&gt;And you missed to KEEP Region somewhere.&lt;/P&gt;</description>
      <pubDate>Sat, 03 Apr 2021 10:03:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/731118#M227744</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-04-03T10:03:32Z</dc:date>
    </item>
    <item>
      <title>Re: Second max Sales for each state</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/731275#M227796</link>
      <description>&lt;P&gt;Just for fun&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   dcl hash hoh(ordered : "Y");
   hoh.definekey("sex");
   hoh.definedata("h", "hi", "sex");
   hoh.definedone();
   dcl hiter i("hoh");
 
   do until(z);
      set sashelp.class end = z;
      if hoh.find() ne 0 then do;
         dcl hash h(dataset : "sashelp.class(obs=0)", multidata : "Y", ordered : "D");
         h.definekey("height");
         h.definedata(all : "Y");
         h.definedone();
         dcl hiter hi("h");
         hoh.add();
      end;
      h.add();
   end;
 
   do while(i.next() = 0);
      hi.next();
      hi.next();
      output;
   end;
 
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 04 Apr 2021 19:31:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Second-max-Sales-for-each-state/m-p/731275#M227796</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2021-04-04T19:31:25Z</dc:date>
    </item>
  </channel>
</rss>

