<?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 Suggestion on grouping in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12042#M1248</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Wow... thanks guys...I never thought about ifn function though...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 11 Dec 2011 15:17:48 GMT</pubDate>
    <dc:creator>yash82</dc:creator>
    <dc:date>2011-12-11T15:17:48Z</dc:date>
    <item>
      <title>Suggestion on grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12039#M1245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to group my data based on condition of (current year -10 and below) in one group and remaining all in other group in my dataset. What should be possible chances apart from proc format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data new.&lt;/P&gt;&lt;P&gt;input year price1 price2 price3&lt;/P&gt;&lt;P&gt;1999 100 200 300&lt;/P&gt;&lt;P&gt;2000 200 300 400&lt;/P&gt;&lt;P&gt;1996 500 400 800&lt;/P&gt;&lt;P&gt;2002 7000 9000 1200&lt;/P&gt;&lt;P&gt;1992 6000 2000 10000&lt;/P&gt;&lt;P&gt;run,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I want data like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Year price1 price2 price3&lt;/P&gt;&lt;P&gt;1992 6000 2000 10000&lt;/P&gt;&lt;P&gt;1996 500 400 800&lt;/P&gt;&lt;P&gt;1999 100 200 300&lt;/P&gt;&lt;P&gt;2000 200 300 400&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2002 7000 9000 1200&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So what should be my best bet .. here we have current year set as 2011.... I do not want to display groups as something else... I want it to be printed out as it is... but just reordered... Any suggestion is highly appreciated&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Dec 2011 08:33:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12039#M1245</guid>
      <dc:creator>yash82</dc:creator>
      <dc:date>2011-12-11T08:33:23Z</dc:date>
    </item>
    <item>
      <title>Suggestion on grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12040#M1246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc sort?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Dec 2011 14:54:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12040#M1246</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2011-12-11T14:54:44Z</dc:date>
    </item>
    <item>
      <title>Suggestion on grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12041#M1247</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I agree with Peter regarding including a proc sort, but you may also want to use if then logic or, similarly, the ifn function.&amp;nbsp; E.g.,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input year price1 price2 price3;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;1999 100 200 300&lt;/P&gt;&lt;P&gt;2000 200 300 400&lt;/P&gt;&lt;P&gt;1996 500 400 800&lt;/P&gt;&lt;P&gt;2002 7000 9000 1200&lt;/P&gt;&lt;P&gt;1992 6000 2000 10000&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by year;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; group=ifn(year le year(today())-10,1,2);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print data=want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by group;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Dec 2011 14:59:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12041#M1247</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-12-11T14:59:17Z</dc:date>
    </item>
    <item>
      <title>Suggestion on grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12042#M1248</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Wow... thanks guys...I never thought about ifn function though...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Dec 2011 15:17:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12042#M1248</guid>
      <dc:creator>yash82</dc:creator>
      <dc:date>2011-12-11T15:17:48Z</dc:date>
    </item>
    <item>
      <title>Re: Suggestion on grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12043#M1249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi ... you could also use Art's suggestion in one step ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;proc sql;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;create table want as&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;select *, (year gt year(today())-10) as group from have&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;order by group, year;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;quit;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Dec 2011 17:37:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12043#M1249</guid>
      <dc:creator>MikeZdeb</dc:creator>
      <dc:date>2011-12-11T17:37:15Z</dc:date>
    </item>
    <item>
      <title>Re: Suggestion on grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12044#M1250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Actually, since you are only trying to identify two groups, I like Mike's suggestion of calculating a boolean better than using ifn.&amp;nbsp; And, that can be done in either a datastep or proc sql.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, if you decide to use proc sql, I'd remove group from the order by clause, as it is already accounted for by year.&amp;nbsp; Interestingly, such a small change, improves performance by almost 50%:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table want as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select *,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; year gt year(today())-10 as group&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from have&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; order by year&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Dec 2011 22:38:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Suggestion-on-grouping/m-p/12044#M1250</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-12-11T22:38:19Z</dc:date>
    </item>
  </channel>
</rss>

