<?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: Delete observations in BY group on condition in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515701#M139206</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input ID    $      Paper   $    Grade     $     Signupnumber	;
cards;
100000 English      B                   3006470
100001 English      B                  1305404
100001 History       A                   2914465
100001 Chemistry  D                  2144401
100002 English      A                   221023
100002 Maths        A                   432565
;

proc sql;
create table want as
select *
from have
group by id
having max(grade='D')=0;
quit;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 24 Nov 2018 04:51:52 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2018-11-24T04:51:52Z</dc:date>
    <item>
      <title>Delete observations in BY group on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515699#M139205</link>
      <description>&lt;P&gt;INPUT&lt;/P&gt;&lt;P&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Paper&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Grade&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sign up number&lt;BR /&gt;100000 English&amp;nbsp; &amp;nbsp; &amp;nbsp; B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3006470&lt;BR /&gt;100001 English&amp;nbsp; &amp;nbsp; &amp;nbsp; B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1305404&lt;BR /&gt;100001 History&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2914465&lt;BR /&gt;100001 Chemistry&amp;nbsp; D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2144401&lt;BR /&gt;100002 English&amp;nbsp; &amp;nbsp; &amp;nbsp; A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;221023&lt;BR /&gt;100002 Maths&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;432565&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want output to remove all records from ID 100001, as 100001 got D grade for Chemistry.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;OUTPUT&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Paper&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Grade&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sign up number&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;100000 English&amp;nbsp; &amp;nbsp; &amp;nbsp; B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3006470&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;100002 English&amp;nbsp; &amp;nbsp; &amp;nbsp; A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;221023&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;100002 Maths&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;432565&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;please help! I am using SAS EG. I tried to use Querybuilder to filter out grade D, but then it doesnt link to ID, hence the output still appear ID100001 with the grade for English and History. Ideally I would like to solve it with querybuilder, as I am not familiar with the programming code please!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Nov 2018 04:33:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515699#M139205</guid>
      <dc:creator>miss2223</dc:creator>
      <dc:date>2018-11-24T04:33:29Z</dc:date>
    </item>
    <item>
      <title>Re: Delete observations in BY group on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515701#M139206</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input ID    $      Paper   $    Grade     $     Signupnumber	;
cards;
100000 English      B                   3006470
100001 English      B                  1305404
100001 History       A                   2914465
100001 Chemistry  D                  2144401
100002 English      A                   221023
100002 Maths        A                   432565
;

proc sql;
create table want as
select *
from have
group by id
having max(grade='D')=0;
quit;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 24 Nov 2018 04:51:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515701#M139206</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-11-24T04:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: Delete observations in BY group on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515703#M139207</link>
      <description>&lt;P&gt;Hello Sir,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you please explain the working of below statement .&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;having &lt;SPAN class="token function"&gt;max&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;grade&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'D'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks...&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Nov 2018 04:58:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515703#M139207</guid>
      <dc:creator>singhsahab</dc:creator>
      <dc:date>2018-11-24T04:58:35Z</dc:date>
    </item>
    <item>
      <title>Re: Delete observations in BY group on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515704#M139208</link>
      <description>&lt;P&gt;I'm &lt;STRONG&gt;lazy&lt;/STRONG&gt; hence I use proc sql a lot knowing it is lot slower than datastep for most cases. OK, furthermore i am merely taking advantage of boolean operation for by groups that has grade D will have 1 and the others will have 0. The max(1,0) is of course 1 for true cases were grade="D" and our interest are 0s where grade=D is false.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try solving in datastep using merge, DOW, or self imposed interleave, or hash etc. You will see sql being slower but thats ok for me&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/153275"&gt;@singhsahab&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello &lt;STRIKE&gt;Sir,&lt;/STRIKE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you please explain the working of below statement .&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;having &lt;SPAN class="token function"&gt;max&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;grade&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'D'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;0&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks...&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Nov 2018 05:05:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515704#M139208</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-11-24T05:05:34Z</dc:date>
    </item>
    <item>
      <title>Re: Delete observations in BY group on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515705#M139209</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
proc sort data=have out=_have;
by id;
run;

data want;
merge _have(in=a) _have(in=b where=(grade='D'));
by id;
if a and not b;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 24 Nov 2018 05:10:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515705#M139209</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-11-24T05:10:37Z</dc:date>
    </item>
    <item>
      <title>Re: Delete observations in BY group on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515729#M139212</link>
      <description>&lt;P&gt;thank you &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Nov 2018 17:18:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Delete-observations-in-BY-group-on-condition/m-p/515729#M139212</guid>
      <dc:creator>singhsahab</dc:creator>
      <dc:date>2018-11-24T17:18:42Z</dc:date>
    </item>
  </channel>
</rss>

