<?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: Deleting rows based on condition in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118466#M293258</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ahh, yes I see you are paying good attention Linlin.&amp;nbsp; Remember, genius is 1% inspiration, 98% perspiration, and 2% attention to detail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Upon closer inspection, I think Art's suggestion and mine are extremely similar.&amp;nbsp; I would guess that mine is easier to read, but Art's is slightly faster.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 06 Nov 2012 14:56:43 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2012-11-06T14:56:43Z</dc:date>
    <item>
      <title>Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118458#M293250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Friends,&lt;/P&gt;&lt;P&gt;I have a simple problem, I wrote the logic but the logic fails to work properly when i run it in the actual data.&lt;/P&gt;&lt;P&gt;All i have to do is delete the rows after flag within the group. I have pasted my data(grouped by sno) , desired output and my code below. The code works fine with this data but fails on the real data which might have other combinations.&lt;/P&gt;&lt;P&gt;In the below data, all i have to do is delete all the rows which follows the first occurence of flag=1 within the group(grouped by sno).&lt;/P&gt;&lt;P&gt;I appreciate your time and help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test_del;&lt;BR /&gt;input sno A B flag;&lt;BR /&gt;cards;&lt;BR /&gt;1 1 2 0&lt;BR /&gt;1 1 1 0&lt;BR /&gt;1 1 1 1&lt;BR /&gt;1 1 1 0&lt;BR /&gt;1 1 1 0&lt;BR /&gt;2 2 2 0&lt;BR /&gt;2 2 2 1&lt;BR /&gt;2 2 2 0&lt;BR /&gt;3 3 3 1 &lt;BR /&gt;3 3 3 0&lt;BR /&gt;3 3 3 1&lt;BR /&gt;3 3 3 0&lt;BR /&gt;4 4 4 0&lt;BR /&gt;4 4 4 0&lt;BR /&gt;4 4 4 1&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my output should look like:&lt;/P&gt;&lt;P&gt; sno A B flag&lt;/P&gt;&lt;P&gt;1 1 2 0&lt;/P&gt;&lt;P&gt;1 1 1 0&lt;/P&gt;&lt;P&gt;1 1 1 1&lt;/P&gt;&lt;P&gt;2 2 2 0&lt;/P&gt;&lt;P&gt;2 2 2 1&lt;/P&gt;&lt;P&gt;3 3 3 1&lt;/P&gt;&lt;P&gt;4 4 4 0&lt;/P&gt;&lt;P&gt;4 4 4 0&lt;/P&gt;&lt;P&gt;4 4 4 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My code which fails to run on real data but runs on this test data. &lt;BR /&gt;data test_del1;&lt;BR /&gt;set test_del;&lt;BR /&gt;by sno;&lt;BR /&gt;retain fl;&lt;BR /&gt;if first.sno &amp;amp; flag ne 1 then fl=0;&lt;BR /&gt;if first.sno &amp;amp; flag =1 then output;&lt;BR /&gt;if fl ne 1 then output;&lt;BR /&gt;if flag =1 then fl =1;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Saravanan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 14:15:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118458#M293250</guid>
      <dc:creator>Saravanan</dc:creator>
      <dc:date>2012-11-06T14:15:09Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118459#M293251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How about?:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test_del1 (drop=fl);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set test_del;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by sno;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain fl;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if fl ne 1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if flag eq 1 then fl=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if last.sno then fl=0;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 14:22:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118459#M293251</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-11-06T14:22:48Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118460#M293252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data test_del;&lt;/P&gt;&lt;P&gt;input sno A B flag;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 1 2 0&lt;/P&gt;&lt;P&gt;1 1 1 0&lt;/P&gt;&lt;P&gt;1 1 1 1&lt;/P&gt;&lt;P&gt;1 1 1 0&lt;/P&gt;&lt;P&gt;1 1 1 0&lt;/P&gt;&lt;P&gt;2 2 2 0&lt;/P&gt;&lt;P&gt;2 2 2 1&lt;/P&gt;&lt;P&gt;2 2 2 0&lt;/P&gt;&lt;P&gt;3 3 3 1 &lt;/P&gt;&lt;P&gt;3 3 3 0&lt;/P&gt;&lt;P&gt;3 3 3 1&lt;/P&gt;&lt;P&gt;3 3 3 0&lt;/P&gt;&lt;P&gt;4 4 4 0&lt;/P&gt;&lt;P&gt;4 4 4 0&lt;/P&gt;&lt;P&gt;4 4 4 1&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set test_del;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by sno ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain c;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if first.sno then c=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if dif(flag)=-1 then c+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if c&amp;lt;2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp; proc print;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 14:31:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118460#M293252</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-11-06T14:31:24Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118461#M293253</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here's my attempt:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test_del1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set test_del;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; by sno;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if first.sno then delete_me='N';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; retain delete_me;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if delete_me='N' then output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if flag=1 then delete_me='Y';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; drop delete_me;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 14:33:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118461#M293253</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-11-06T14:33:59Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118462#M293254</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using &lt;SPAN style="color: #ff0000;"&gt;dif().&lt;/SPAN&gt; Don't you think I am a good learner?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 14:42:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118462#M293254</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-11-06T14:42:38Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118463#M293255</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your reply. It works perfect.&lt;/P&gt;&lt;P&gt;Much appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Saravanan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 14:49:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118463#M293255</guid>
      <dc:creator>Saravanan</dc:creator>
      <dc:date>2012-11-06T14:49:47Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118464#M293256</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your reply. It works fine.&lt;/P&gt;&lt;P&gt;Much appreciated for your time and effort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Saravanan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 14:51:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118464#M293256</guid>
      <dc:creator>Saravanan</dc:creator>
      <dc:date>2012-11-06T14:51:05Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118465#M293257</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your effort and time. It works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Saravanan.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 14:51:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118465#M293257</guid>
      <dc:creator>Saravanan</dc:creator>
      <dc:date>2012-11-06T14:51:50Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118466#M293258</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ahh, yes I see you are paying good attention Linlin.&amp;nbsp; Remember, genius is 1% inspiration, 98% perspiration, and 2% attention to detail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Upon closer inspection, I think Art's suggestion and mine are extremely similar.&amp;nbsp; I would guess that mine is easier to read, but Art's is slightly faster.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 14:56:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118466#M293258</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-11-06T14:56:43Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118467#M293259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A __default_attr="3068" __jive_macro_name="user" class="jive_macro jive_macro_user" href="https://communities.sas.com/"&gt;&lt;/A&gt;: I'm glad to see you learning new functions but, in this case, your logic will not always work correctly.&amp;nbsp; e.g., it will not exclude any records in the following scenario when, I think, it should only be keeping the first record for each sno:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test_del;&lt;/P&gt;&lt;P&gt;input sno A B flag;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 1 2 1&lt;/P&gt;&lt;P&gt;1 1 1 1&lt;/P&gt;&lt;P&gt;1 1 1 1&lt;/P&gt;&lt;P&gt;1 1 1 1&lt;/P&gt;&lt;P&gt;1 1 1 1&lt;/P&gt;&lt;P&gt;2 2 2 1&lt;/P&gt;&lt;P&gt;2 2 2 1&lt;/P&gt;&lt;P&gt;2 2 2 1&lt;/P&gt;&lt;P&gt;3 3 3 1&lt;/P&gt;&lt;P&gt;3 3 3 1&lt;/P&gt;&lt;P&gt;3 3 3 1&lt;/P&gt;&lt;P&gt;3 3 3 1&lt;/P&gt;&lt;P&gt;4 4 4 1&lt;/P&gt;&lt;P&gt;4 4 4 1&lt;/P&gt;&lt;P&gt;4 4 4 1&lt;/P&gt;&lt;P&gt;;&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 test_del;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by sno ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain c;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if first.sno then c=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if dif(flag) then c+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if c&amp;lt;2;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 15:05:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118467#M293259</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-11-06T15:05:07Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118468#M293260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Art,&lt;/P&gt;&lt;P&gt;You are right. In that case my code would not work. Would you please read your post in the link (Soap box): &lt;A _jive_internal="true" href="https://communities.sas.com/thread/32053"&gt;https://communities.sas.com/thread/32053&lt;/A&gt;&lt;/P&gt;&lt;P&gt;I was scared to death by your comments when I just joined the forum a year ago. The good thing is that I am not afraid of you anymore!:smileylaugh::smileylaugh::smileylaugh:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 15:25:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118468#M293260</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-11-06T15:25:36Z</dc:date>
    </item>
    <item>
      <title>Re: Deleting rows based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118469#M293261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Linlin,&amp;nbsp; I've never intended to scare anyone with my comments and glad to hear that you're not afraid of me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;About my soapbox comment, however long ago that was, it doesn't apply here as the requirement was to keep the first record (within a sno) that had a flag=1, but delete all remaining records.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2012 15:33:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Deleting-rows-based-on-condition/m-p/118469#M293261</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-11-06T15:33:52Z</dc:date>
    </item>
  </channel>
</rss>

