<?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: Ordering or giving ranks to rows in a data set with condition. in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/Ordering-or-giving-ranks-to-rows-in-a-data-set-with-condition/m-p/676690#M19490</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 Country$ SiteID$ SiteTax$ ;
cards;
AllCountry allSite allTax
Austria allSite allTax
Austria 32 allTax
Austria 32 a1
Austria 211 allTax
Austria 211 a2
Austria 211 a3
Austria 211 a9
Austria 330 allTax
Austria 330 b2
Austria 330 b3
Austria 330 b1
Austria 330 c2
Canada allSite allTax
Canada 211 allTax
Canada 211 q1
Canada 211 q3
Canada 211 q2
Canada 579 allTax
Canada 579 .
Canada 579 .
Canada 579 .
Canada 666 allTax
Canada 666 .
;

data want;
set have;
by country siteid notsorted;
retain rank1 rank2;
if SiteTax eq 'allTax' then do;
if first.siteid then rank1+1;
if first.siteid then rank2=.;
end;
if SiteTax ne 'allTax' then rank2+0.1;
rank=sum(rank1,rank2);
drop rank1 rank2;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 14 Aug 2020 11:29:48 GMT</pubDate>
    <dc:creator>Jagadishkatam</dc:creator>
    <dc:date>2020-08-14T11:29:48Z</dc:date>
    <item>
      <title>Ordering or giving ranks to rows in a data set with condition.</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Ordering-or-giving-ranks-to-rows-in-a-data-set-with-condition/m-p/676685#M19489</link>
      <description>&lt;P&gt;I want to give the Order/ranking to my data set TAXDEPT (output in Rank col.) as shown below using PROC SQL.&amp;nbsp;&lt;/P&gt;&lt;P&gt;My source data set is in below form now:&lt;/P&gt;&lt;P&gt;SiteID is already in sorted form.&lt;/P&gt;&lt;P&gt;where ever SiteTax == allTax, i have to give ranks like 1,2,3,...&lt;/P&gt;&lt;P&gt;where ever SiteTax != allTax, i have to give sub-ranks like 3.1, 3.2, ....4.1, 4.2, ....&lt;/P&gt;&lt;P&gt;like for SiteID 211 below i need like; 4.1, 4.2, 4.3&lt;/P&gt;&lt;P&gt;TAXDEPT:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Country&lt;/TD&gt;&lt;TD&gt;SiteID&lt;/TD&gt;&lt;TD&gt;SiteTax&lt;/TD&gt;&lt;TD&gt;Rank&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;All Country&lt;/TD&gt;&lt;TD&gt;allSite&lt;/TD&gt;&lt;TD&gt;allTax&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;allSite&lt;/TD&gt;&lt;TD&gt;allTax&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;32&lt;/TD&gt;&lt;TD&gt;allTax&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;32&lt;/TD&gt;&lt;TD&gt;a1&lt;/TD&gt;&lt;TD&gt;3.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;211&lt;/TD&gt;&lt;TD&gt;allTax&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;211&lt;/TD&gt;&lt;TD&gt;a2&lt;/TD&gt;&lt;TD&gt;4.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;211&lt;/TD&gt;&lt;TD&gt;a3&lt;/TD&gt;&lt;TD&gt;4.2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;211&lt;/TD&gt;&lt;TD&gt;a9&lt;/TD&gt;&lt;TD&gt;4.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;allTax&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;b2&lt;/TD&gt;&lt;TD&gt;5.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;b3&lt;/TD&gt;&lt;TD&gt;5.2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;b1&lt;/TD&gt;&lt;TD&gt;5.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Austria&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;c2&lt;/TD&gt;&lt;TD&gt;5.4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;allSite&lt;/TD&gt;&lt;TD&gt;allTax&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;211&lt;/TD&gt;&lt;TD&gt;allTax&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;211&lt;/TD&gt;&lt;TD&gt;q1&lt;/TD&gt;&lt;TD&gt;7.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;211&lt;/TD&gt;&lt;TD&gt;q3&lt;/TD&gt;&lt;TD&gt;7.2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;211&lt;/TD&gt;&lt;TD&gt;q2&lt;/TD&gt;&lt;TD&gt;7.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;579&lt;/TD&gt;&lt;TD&gt;allTax&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;579&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;8.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;579&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;8.2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;579&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;8.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;666&lt;/TD&gt;&lt;TD&gt;allTax&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Canada&lt;/TD&gt;&lt;TD&gt;666&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;9.1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 14 Aug 2020 11:14:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Ordering-or-giving-ranks-to-rows-in-a-data-set-with-condition/m-p/676685#M19489</guid>
      <dc:creator>mesujit</dc:creator>
      <dc:date>2020-08-14T11:14:12Z</dc:date>
    </item>
    <item>
      <title>Re: Ordering or giving ranks to rows in a data set with condition.</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Ordering-or-giving-ranks-to-rows-in-a-data-set-with-condition/m-p/676690#M19490</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 Country$ SiteID$ SiteTax$ ;
cards;
AllCountry allSite allTax
Austria allSite allTax
Austria 32 allTax
Austria 32 a1
Austria 211 allTax
Austria 211 a2
Austria 211 a3
Austria 211 a9
Austria 330 allTax
Austria 330 b2
Austria 330 b3
Austria 330 b1
Austria 330 c2
Canada allSite allTax
Canada 211 allTax
Canada 211 q1
Canada 211 q3
Canada 211 q2
Canada 579 allTax
Canada 579 .
Canada 579 .
Canada 579 .
Canada 666 allTax
Canada 666 .
;

data want;
set have;
by country siteid notsorted;
retain rank1 rank2;
if SiteTax eq 'allTax' then do;
if first.siteid then rank1+1;
if first.siteid then rank2=.;
end;
if SiteTax ne 'allTax' then rank2+0.1;
rank=sum(rank1,rank2);
drop rank1 rank2;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 14 Aug 2020 11:29:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Ordering-or-giving-ranks-to-rows-in-a-data-set-with-condition/m-p/676690#M19490</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2020-08-14T11:29:48Z</dc:date>
    </item>
    <item>
      <title>Re: Ordering or giving ranks to rows in a data set with condition.</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Ordering-or-giving-ranks-to-rows-in-a-data-set-with-condition/m-p/676728#M19491</link>
      <description>&lt;P&gt;Thanks Jag, the code helped me a lot.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Aug 2020 13:45:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Ordering-or-giving-ranks-to-rows-in-a-data-set-with-condition/m-p/676728#M19491</guid>
      <dc:creator>mesujit</dc:creator>
      <dc:date>2020-08-14T13:45:21Z</dc:date>
    </item>
    <item>
      <title>Re: Ordering or giving ranks to rows in a data set with condition.</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Ordering-or-giving-ranks-to-rows-in-a-data-set-with-condition/m-p/676743#M19492</link>
      <description>Could you please mark it as answered so it can help others across while searching.</description>
      <pubDate>Fri, 14 Aug 2020 14:35:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Ordering-or-giving-ranks-to-rows-in-a-data-set-with-condition/m-p/676743#M19492</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2020-08-14T14:35:57Z</dc:date>
    </item>
  </channel>
</rss>

