<?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: How to group observations with logic? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316388#M69125</link>
    <description>&lt;P&gt;I don't know how you created your order in the first place.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But if you reverse your entire data you can reverse your logic.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So it becomes if the value is over 200 then assign the value from column 1. Use retain to keep the value from row to row.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
retain group;
if X &amp;gt; 200 then group=column1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 02 Dec 2016 21:05:31 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2016-12-02T21:05:31Z</dc:date>
    <item>
      <title>How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316365#M69115</link>
      <description>&lt;P&gt;Hi, I have a dataset as follows, the variable 'w' has already been sorted, and I want to group them according to the values of 'value' and generate a new variable 'nw',&amp;nbsp;and 'nw' should be given as the last w whose value is less than or equal to 200, and for those values large than 200, stay the same. It's really hard to describe here.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;w&lt;/TD&gt;&lt;TD&gt;value&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abate&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abbreviations&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abdomen&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abdominal&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abelcet&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;aberrant&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abiraterone&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ablation&lt;/TD&gt;&lt;TD&gt;210&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abnormal&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abo&lt;/TD&gt;&lt;TD&gt;780&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abscission&lt;/TD&gt;&lt;TD&gt;260&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;absence&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;absenteeism&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;absorption&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abstinence&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abstracting&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;academia&lt;/TD&gt;&lt;TD&gt;210&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;academic&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;academy&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acceleration&lt;/TD&gt;&lt;TD&gt;180&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;access&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accessibility&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accident&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accidents&lt;/TD&gt;&lt;TD&gt;230&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accountability&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accounting&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accreditation&lt;/TD&gt;&lt;TD&gt;230&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acculturation&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ace&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetates&lt;/TD&gt;&lt;TD&gt;920&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetazolamide&lt;/TD&gt;&lt;TD&gt;310&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetic&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetone&lt;/TD&gt;&lt;TD&gt;210&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetyl&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetylaminofluorene&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetylatio&lt;/TD&gt;&lt;TD&gt;230&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetylation&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;bupropion&lt;/TD&gt;&lt;TD&gt;550&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;burden&lt;/TD&gt;&lt;TD&gt;560&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;burkitt's&lt;/TD&gt;&lt;TD&gt;230&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;burn&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;burns&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;businesses&lt;/TD&gt;&lt;TD&gt;550&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butanoic&lt;/TD&gt;&lt;TD&gt;800&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butterflies&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butyrates&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butyric&lt;/TD&gt;&lt;TD&gt;450&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butyryl&lt;/TD&gt;&lt;TD&gt;800&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;bypass&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;bystander&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c2&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c2h2&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c3h&lt;/TD&gt;&lt;TD&gt;250&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c57bl&lt;/TD&gt;&lt;TD&gt;720&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;That is to say, I want to have something like:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;w&lt;/TD&gt;&lt;TD&gt;value&lt;/TD&gt;&lt;TD&gt;nw&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abate&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abbreviations&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abdomen&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abdominal&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abelcet&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;aberrant&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abiraterone&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;abl1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ablation&lt;/TD&gt;&lt;TD&gt;210&lt;/TD&gt;&lt;TD&gt;ablation&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abnormal&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;abnormal&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abo&lt;/TD&gt;&lt;TD&gt;780&lt;/TD&gt;&lt;TD&gt;abo&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abscission&lt;/TD&gt;&lt;TD&gt;260&lt;/TD&gt;&lt;TD&gt;abscission&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;absence&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;abstracting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;absenteeism&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;TD&gt;abstracting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;absorption&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;TD&gt;abstracting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abstinence&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;TD&gt;abstracting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;abstracting&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;TD&gt;abstracting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;academia&lt;/TD&gt;&lt;TD&gt;210&lt;/TD&gt;&lt;TD&gt;academia&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;academic&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;academic&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;academy&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;academy&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acceleration&lt;/TD&gt;&lt;TD&gt;180&lt;/TD&gt;&lt;TD&gt;accident&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;access&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;TD&gt;accident&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accessibility&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;accident&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accident&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;accident&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accidents&lt;/TD&gt;&lt;TD&gt;230&lt;/TD&gt;&lt;TD&gt;accidents&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accountability&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;accounting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accounting&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;accounting&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;accreditation&lt;/TD&gt;&lt;TD&gt;230&lt;/TD&gt;&lt;TD&gt;accreditation&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acculturation&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;acculturation&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ace&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;TD&gt;ace&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetates&lt;/TD&gt;&lt;TD&gt;920&lt;/TD&gt;&lt;TD&gt;acetates&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetazolamide&lt;/TD&gt;&lt;TD&gt;310&lt;/TD&gt;&lt;TD&gt;acetazolamide&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetic&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;TD&gt;acetic&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetone&lt;/TD&gt;&lt;TD&gt;210&lt;/TD&gt;&lt;TD&gt;acetone&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetyl&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;acetylaminofluorene&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetylaminofluorene&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;acetylaminofluorene&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetylatio&lt;/TD&gt;&lt;TD&gt;230&lt;/TD&gt;&lt;TD&gt;acetylatio&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;acetylation&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;acetylation&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;bupropion&lt;/TD&gt;&lt;TD&gt;550&lt;/TD&gt;&lt;TD&gt;bupropion&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;burden&lt;/TD&gt;&lt;TD&gt;560&lt;/TD&gt;&lt;TD&gt;burden&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;burkitt's&lt;/TD&gt;&lt;TD&gt;230&lt;/TD&gt;&lt;TD&gt;burkitt's&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;burn&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;burn&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;burns&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;TD&gt;burns&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;businesses&lt;/TD&gt;&lt;TD&gt;550&lt;/TD&gt;&lt;TD&gt;businesses&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butanoic&lt;/TD&gt;&lt;TD&gt;800&lt;/TD&gt;&lt;TD&gt;butanoic&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butterflies&lt;/TD&gt;&lt;TD&gt;500&lt;/TD&gt;&lt;TD&gt;butterflies&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butyrates&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;butyrates&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butyric&lt;/TD&gt;&lt;TD&gt;450&lt;/TD&gt;&lt;TD&gt;butyric&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;butyryl&lt;/TD&gt;&lt;TD&gt;800&lt;/TD&gt;&lt;TD&gt;butyryl&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;bypass&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;bypass&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;bystander&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;bystander&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c2&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;TD&gt;c2h2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c2h2&lt;/TD&gt;&lt;TD&gt;150&lt;/TD&gt;&lt;TD&gt;c2h2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c3h&lt;/TD&gt;&lt;TD&gt;250&lt;/TD&gt;&lt;TD&gt;c3h&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c57bl&lt;/TD&gt;&lt;TD&gt;720&lt;/TD&gt;&lt;TD&gt;c57bl&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;All the things that came into my mind is to use sort but I don't think it worked. It seems like I cannot sort by the 'values' since I have sorted the data by'w', can someone help me out? Really appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 20:01:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316365#M69115</guid>
      <dc:creator>hx</dc:creator>
      <dc:date>2016-12-02T20:01:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316369#M69118</link>
      <description>&lt;P&gt;Why does w=accident/value=200 get nw=accident,&amp;nbsp;&amp;nbsp;&amp;nbsp; yet&amp;nbsp;&amp;nbsp; w=abate/value=200 get nw=abl1?&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 20:23:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316369#M69118</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2016-12-02T20:23:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316379#M69120</link>
      <description>Thank you for your reply, mkeintz!&lt;BR /&gt;w=abate/value=200 get nw=abl1 because I wanted to get the nw="the last w of the values that are &amp;lt;=200", for instance w=accident/value=200 get nw=accident because accidents/value=230 which is larger than 200. Does that make sense? sorry I didn't describe it clearly.</description>
      <pubDate>Fri, 02 Dec 2016 20:44:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316379#M69120</guid>
      <dc:creator>hx</dc:creator>
      <dc:date>2016-12-02T20:44:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316382#M69121</link>
      <description>&lt;P&gt;Can you reverse the order of your data? So you're not looking forward but looking backward and reversing your logic. Its much easier and cleaner to lag in SAS.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 20:47:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316382#M69121</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-12-02T20:47:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316387#M69124</link>
      <description>Do you mean reverse them by w alphabetically? But I still want to get the new variable based on w/values, how does that work by reversing?</description>
      <pubDate>Fri, 02 Dec 2016 20:59:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316387#M69124</guid>
      <dc:creator>hx</dc:creator>
      <dc:date>2016-12-02T20:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316388#M69125</link>
      <description>&lt;P&gt;I don't know how you created your order in the first place.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But if you reverse your entire data you can reverse your logic.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So it becomes if the value is over 200 then assign the value from column 1. Use retain to keep the value from row to row.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
retain group;
if X &amp;gt; 200 then group=column1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 21:05:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316388#M69125</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-12-02T21:05:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316392#M69126</link>
      <description>&lt;P&gt;Nevermind, I didn't understand your logic. You're handling the values greater than 200 differently than I thought.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 21:12:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316392#M69126</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-12-02T21:12:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316397#M69127</link>
      <description>Yeah, but your code did give me some thinking, by using the group did give me something like what I want, yet still can't. Thank you anyway, I'm still trying</description>
      <pubDate>Fri, 02 Dec 2016 21:17:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316397#M69127</guid>
      <dc:creator>hx</dc:creator>
      <dc:date>2016-12-02T21:17:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316398#M69128</link>
      <description>&lt;P&gt;You'd have to set a flag and then check the value of the flag so you need two retained variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 21:20:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316398#M69128</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-12-02T21:20:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316402#M69129</link>
      <description>How can I set the value of the flag? Should I use dummies or 'w'?</description>
      <pubDate>Fri, 02 Dec 2016 21:40:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316402#M69129</guid>
      <dc:creator>hx</dc:creator>
      <dc:date>2016-12-02T21:40:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316404#M69130</link>
      <description>&lt;P&gt;This is untested, but should be at least most of the way there:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;do until (done1 or value &amp;gt; 200);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;set have end=done1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;if value &amp;lt;= 200 then nw = w;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;do until (done2 or value &amp;gt; 200);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;set have end=done2;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;if value &amp;gt; 200 then nw = w;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 21:44:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316404#M69130</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-12-02T21:44:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316406#M69131</link>
      <description>&lt;P&gt;This should get you close, I haven't fully verified it works though.&lt;/P&gt;
&lt;P&gt;PS - in the future please post your same data as a data step - like the first step in my proc.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
informat w $30. value 8.;
input w	$ value;
cards;
abate   200
abbreviations   50
abdomen 20
abdominal   110
abelcet 100
aberrant    100
abiraterone 100
abl1    100
ablation    210
abnormal    30
abo 780
abscission  260
absence 100
absenteeism 140
absorption  130
abstinence  150
abstracting 110
academia    210
academic    30
academy 600
acceleration    180
access  130
accessibility   100
accident    200
accidents   230
accountability  50
accounting  100
accreditation   230
acculturation   30
ace 600
acetates    920
acetazolamide   310
acetic  110
acetone 210
acetyl  50
acetylaminofluorene 200
acetylatio  230
acetylation 200
bupropion   550
burden  560
burkitt's   230
burn    300
burns   140
businesses  550
butanoic    800
butterflies 500
butyrates   100
butyric 450
butyryl 800
bypass  330
bystander   300
c   300
c2  130
c2h2    150
c3h 250
c57bl   720
;
run;

data add_order;
set have;
order=_n_;
run;

proc sort data=add_order;
by descending order;
run;

data want;
set add_order;
retain prev_group group;
if value&amp;gt;=200 then prev_group=1;
if prev_group=1 and value&amp;lt;200 then do;
	group = w;
	prev_group=0;
end;
else if prev_group=1 and value&amp;gt;=200 then group=w;

run;

proc sort data=want;
by order;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 02 Dec 2016 21:47:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316406#M69131</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-12-02T21:47:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316407#M69132</link>
      <description>&lt;P&gt;No need to sort and&amp;nbsp; lag- and then re-sort to original order.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just use a suitably define DO loop containing a SET statement to read ahead to find the desired value&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input w :$20. value;
datalines;
abate 200 
abbreviations 50 
abdomen 20 
abdominal 110 
abelcet 100 
aberrant 100 
abiraterone 100 
abl1 100 
ablation 210 
abnormal 30 
abo 780 
abscission 260 
absence 100 
absenteeism 140 
absorption 130 
abstinence 150 
abstracting 110 
academia 210 
academic 30 
academy 600 
acceleration 180 
access 130 
accessibility 100 
accident 200 
accidents 230 
accountability 50 
accounting 100 
accreditation 230 
acculturation 30 
ace 600 
acetates 920 
acetazolamide 310 
acetic 110 
acetone 210 
acetyl 50 
acetylaminofluorene 200 
acetylatio 230 
acetylation 200 
bupropion 550 
burden 560 
burkitt's 230 
burn 300 
burns 140 
businesses 550 
butanoic 800 
butterflies 500 
butyrates 100 
butyric 450 
butyryl 800 
bypass 330 
bystander 300 
c 300 
c2 130 
c2h2 150 
c3h 250 
c57bl 720 
run;

data want (drop=next_:);
  set  have;
  length nw $20;  retain nw '        ';
  if value&amp;lt;=200 and nw&amp;lt;w then do until (next_v&amp;gt;200 and next_w&amp;gt;=w);
    if eof=0 then set have (rename=(w=next_w value=next_v)) end=eof;
    else do; next_w='ZZZZZZ'; next_v=201; end;
    nw=lag(next_w);
  end;
  else if value&amp;gt;200 then nw=w;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;xxx&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 22:37:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316407#M69132</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2016-12-02T22:37:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316412#M69133</link>
      <description>Thank you so much Reeza! it did work! I got to look deep into your code to get better understanding.</description>
      <pubDate>Fri, 02 Dec 2016 22:05:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316412#M69133</guid>
      <dc:creator>hx</dc:creator>
      <dc:date>2016-12-02T22:05:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316415#M69134</link>
      <description>thank you mkeintz! but what does eof mean in your code?</description>
      <pubDate>Fri, 02 Dec 2016 22:12:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316415#M69134</guid>
      <dc:creator>hx</dc:creator>
      <dc:date>2016-12-02T22:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316417#M69136</link>
      <description>I tried but it seemed that new variable nw only has one value which is the last w in the set.</description>
      <pubDate>Fri, 02 Dec 2016 22:14:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316417#M69136</guid>
      <dc:creator>hx</dc:creator>
      <dc:date>2016-12-02T22:14:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316418#M69137</link>
      <description>&lt;P&gt;Sounds like something is a little off. &amp;nbsp;While I can't see your log, try checking "done1" and "done2" to make sure they appear in the proper places.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 22:18:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316418#M69137</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-12-02T22:18:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316425#M69142</link>
      <description>&lt;P&gt;You don't want the second SET statement&amp;nbsp; to prematurely end the data step, which it would do if it attempts to read beyond the end-of-file.&amp;nbsp; So the SET statement inside the loop&amp;nbsp; has an "end=eof" parameter, which sets the dummy variable EOF&amp;nbsp; to 1 only if the last record is in hand.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I use "if eof=0 then set" to avoid&amp;nbsp; reading beyond end of file.&amp;nbsp; But of course the loop containing the data set might not have&amp;nbsp;the UNTIL expression satisfied at the end-of-file.&amp;nbsp; So the "if eof=0 then set" is followed by ELSE setting next_w to 'ZZZZZZ' and next_v&amp;gt;200 thereby satisfying the&amp;nbsp;until expression and getting out of the loop.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 22:52:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316425#M69142</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2016-12-02T22:52:58Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316430#M69146</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz﻿&lt;/a&gt;&amp;nbsp;solution is more efficient, as long as you understand it &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2016 23:15:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316430#M69146</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-12-02T23:15:53Z</dc:date>
    </item>
    <item>
      <title>Re: How to group observations with logic?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316485#M69166</link>
      <description>&lt;P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
informat w $30. value 8.;
input w	$ value;
cards;
abate   200
abbreviations   50
abdomen 20
abdominal   110
abelcet 100
aberrant    100
abiraterone 100
abl1    100
ablation    210
abnormal    30
abo 780
abscission  260
absence 100
absenteeism 140
absorption  130
abstinence  150
abstracting 110
academia    210
academic    30
academy 600
acceleration    180
access  130
accessibility   100
accident    200
accidents   230
accountability  50
accounting  100
accreditation   230
acculturation   30
ace 600
acetates    920
acetazolamide   310
acetic  110
acetone 210
acetyl  50
acetylaminofluorene 200
acetylatio  230
acetylation 200
bupropion   550
burden  560
burkitt's   230
burn    300
burns   140
businesses  550
butanoic    800
butterflies 500
butyrates   100
butyric 450
butyryl 800
bypass  330
bystander   300
c   300
c2  130
c2h2    150
c3h 250
c57bl   720
;
run;
data temp;
 set have;
 flag=ifn(value le 200,1,0);
run;
data want;
 do until(last.flag);
  set temp;
  by flag notsorted;
 end;
 if value le 200 then do;_w=w;yes=1;end;
 do until(last.flag);
  set temp;
  by flag notsorted;
  new=ifc(yes,_w,w);
  output;
 end;
 drop yes _w flag;
 run;
&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR data-mce-bogus="1" /&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 03 Dec 2016 12:34:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-group-observations-with-logic/m-p/316485#M69166</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-12-03T12:34:26Z</dc:date>
    </item>
  </channel>
</rss>

