<?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 If string is macthed and number of obs. per bygroup &amp;gt; 1 then delete in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/If-string-is-macthed-and-number-of-obs-per-bygroup-gt-1-then/m-p/267423#M52854</link>
    <description>&lt;P&gt;Hi everybody&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope you can help me. I have a dataset&amp;nbsp;which depicts the case flow per&amp;nbsp;ID/case. &amp;nbsp;Of this I am calculating the days from when a case step&amp;nbsp;is starting to when it's ending of a case to measure how good the caseworker is performing.&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can follow the flow of a case by the variables&amp;nbsp;SAGSTRIN, QUEUE and&amp;nbsp;NEW_QUEUE and in that order. The meaning of an "ending" case step is where the case has been set to rest so to speak. I am only interested in the last step (new_queue) and have in a previous data step used the following if statement:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000e6" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; index(trim(upcase(NEW_QUEUE)),&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;"XREF"&lt;/FONT&gt;&lt;FONT size="2"&gt;) GE &lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;FONT size="2"&gt; AND index(trim(upcase(SAGSTRIN)),&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;"XREF"&lt;/FONT&gt;&lt;FONT size="2"&gt;) NE &lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;where XREF is how a "ending case step" is spelled.&lt;/P&gt;&lt;P&gt;Above data step is used to remove all other steps than XREF steps in the final new_queue.&lt;/P&gt;&lt;P&gt;There can be multiple XREF step per ID and it's not all XREF step I am interested in. Let's say the case worker awaits information and the case is put to a XREF step until that information arrives. That shouldn't be included when determine the number of days a caseworker has used on a case.&lt;/P&gt;&lt;P&gt;So looking through data I have seen a kind of systematic in how the structure us, so I can set up some rules for which XREF steps to be excluded per case/ID and it is this I would like some help with.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So far I don’t want a case&amp;nbsp;completely removed, example if a case has 2 XREF steps with "”Dødvurd Mgl Opl Mod" from below is should only remove one so there is always one step left per case.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So below I have counted the cases pr. ID and a sum variable:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;options&lt;/FONT&gt;&lt;FONT size="2"&gt; obs=&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;250&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;*Dannelse af en sum variabel som viser antallet af sager pr. ID;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case1; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;set&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#000080" size="2"&gt;&lt;FONT color="#000080" size="2"&gt;&amp;amp;navn.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;_død_m_XREF_u_vudr_dag_X2; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;ID_count+&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; first.ID &lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;then&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID_count=&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;sort&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;data&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;=case1; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID &lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;descending&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID_count; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case2;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case1; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;retain&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID_count_sum; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; first.ID &lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;then&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID_count_sum=ID_count; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;output&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#0000e6" size="2"&gt;sort&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000e6" size="2"&gt;data&lt;/FONT&gt;&lt;FONT size="2"&gt;=case2 &lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;out&lt;/FONT&gt;&lt;FONT size="2"&gt;=outfil.sas7bdat;&lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;FONT size="2"&gt; ID ID_count;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#0000e6" size="2"&gt;run&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then I would like the&amp;nbsp;following rules to apply:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If the step before new_queue contains "Dødvurd Mgl Opl Mod" and the sum of XREF steps&amp;gt;1 then the&amp;nbsp;XREF step will be removed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then I run the code above again to count cases per ID and next rule:&lt;/P&gt;&lt;P&gt;If the step before new_queue contains "Dødvurd Mgl Opl Ej Mod" and the sum of XREF steps&amp;gt;1 then the&amp;nbsp;XREF step will be removed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then I run the code above again to count cases per ID and next rule:&lt;/P&gt;&lt;P&gt;If the step before new_queue contains "Dødafv oplysninger" and the sum of XREF steps&amp;gt;1 then the&amp;nbsp;XREF step will be removed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried with the following code but found that if a case has 2 instances of "Dødvurd Mgl Opl Mod" both will be removed. Because the sum is of course 2 and so it will delete both of them.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case3;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case2;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID &lt;/FONT&gt;ID_count&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; first.id and prxmatch(&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;&lt;FONT color="#800080" size="2"&gt;"m/Dødvurd Mgl Opl Modt/oi"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;,QUEUE) and &lt;/FONT&gt;ID_count_sum&lt;FONT size="2"&gt;&amp;gt;&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;then&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;delete&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope you can help me with the coding and maybe it can be done more simple.&lt;/P&gt;&lt;P&gt;Thanks in advanced.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 30 Apr 2016 16:27:30 GMT</pubDate>
    <dc:creator>piddy</dc:creator>
    <dc:date>2016-04-30T16:27:30Z</dc:date>
    <item>
      <title>If string is macthed and number of obs. per bygroup &gt; 1 then delete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/If-string-is-macthed-and-number-of-obs-per-bygroup-gt-1-then/m-p/267423#M52854</link>
      <description>&lt;P&gt;Hi everybody&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope you can help me. I have a dataset&amp;nbsp;which depicts the case flow per&amp;nbsp;ID/case. &amp;nbsp;Of this I am calculating the days from when a case step&amp;nbsp;is starting to when it's ending of a case to measure how good the caseworker is performing.&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can follow the flow of a case by the variables&amp;nbsp;SAGSTRIN, QUEUE and&amp;nbsp;NEW_QUEUE and in that order. The meaning of an "ending" case step is where the case has been set to rest so to speak. I am only interested in the last step (new_queue) and have in a previous data step used the following if statement:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000e6" size="2"&gt;if&lt;/FONT&gt;&lt;FONT size="2"&gt; index(trim(upcase(NEW_QUEUE)),&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;"XREF"&lt;/FONT&gt;&lt;FONT size="2"&gt;) GE &lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;FONT size="2"&gt; AND index(trim(upcase(SAGSTRIN)),&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;"XREF"&lt;/FONT&gt;&lt;FONT size="2"&gt;) NE &lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;where XREF is how a "ending case step" is spelled.&lt;/P&gt;&lt;P&gt;Above data step is used to remove all other steps than XREF steps in the final new_queue.&lt;/P&gt;&lt;P&gt;There can be multiple XREF step per ID and it's not all XREF step I am interested in. Let's say the case worker awaits information and the case is put to a XREF step until that information arrives. That shouldn't be included when determine the number of days a caseworker has used on a case.&lt;/P&gt;&lt;P&gt;So looking through data I have seen a kind of systematic in how the structure us, so I can set up some rules for which XREF steps to be excluded per case/ID and it is this I would like some help with.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So far I don’t want a case&amp;nbsp;completely removed, example if a case has 2 XREF steps with "”Dødvurd Mgl Opl Mod" from below is should only remove one so there is always one step left per case.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So below I have counted the cases pr. ID and a sum variable:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;options&lt;/FONT&gt;&lt;FONT size="2"&gt; obs=&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;250&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;*Dannelse af en sum variabel som viser antallet af sager pr. ID;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case1; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;set&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#000080" size="2"&gt;&lt;FONT color="#000080" size="2"&gt;&amp;amp;navn.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;_død_m_XREF_u_vudr_dag_X2; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;ID_count+&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; first.ID &lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;then&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID_count=&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;sort&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;data&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;=case1; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID &lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;descending&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID_count; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case2;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case1; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;retain&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID_count_sum; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; first.ID &lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;then&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID_count_sum=ID_count; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;output&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#0000e6" size="2"&gt;sort&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000e6" size="2"&gt;data&lt;/FONT&gt;&lt;FONT size="2"&gt;=case2 &lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;out&lt;/FONT&gt;&lt;FONT size="2"&gt;=outfil.sas7bdat;&lt;/FONT&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;FONT size="2"&gt; ID ID_count;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#0000e6" size="2"&gt;run&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then I would like the&amp;nbsp;following rules to apply:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If the step before new_queue contains "Dødvurd Mgl Opl Mod" and the sum of XREF steps&amp;gt;1 then the&amp;nbsp;XREF step will be removed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then I run the code above again to count cases per ID and next rule:&lt;/P&gt;&lt;P&gt;If the step before new_queue contains "Dødvurd Mgl Opl Ej Mod" and the sum of XREF steps&amp;gt;1 then the&amp;nbsp;XREF step will be removed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then I run the code above again to count cases per ID and next rule:&lt;/P&gt;&lt;P&gt;If the step before new_queue contains "Dødafv oplysninger" and the sum of XREF steps&amp;gt;1 then the&amp;nbsp;XREF step will be removed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried with the following code but found that if a case has 2 instances of "Dødvurd Mgl Opl Mod" both will be removed. Because the sum is of course 2 and so it will delete both of them.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case3;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; case2;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;by&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; ID &lt;/FONT&gt;ID_count&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt; first.id and prxmatch(&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;&lt;FONT color="#800080" size="2"&gt;"m/Dødvurd Mgl Opl Modt/oi"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;,QUEUE) and &lt;/FONT&gt;ID_count_sum&lt;FONT size="2"&gt;&amp;gt;&lt;/FONT&gt;&lt;FONT color="#800080" size="2"&gt;&lt;FONT color="#800080" size="2"&gt;1&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;then&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;delete&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;FONT color="#0000e6" size="2"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope you can help me with the coding and maybe it can be done more simple.&lt;/P&gt;&lt;P&gt;Thanks in advanced.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 30 Apr 2016 16:27:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/If-string-is-macthed-and-number-of-obs-per-bygroup-gt-1-then/m-p/267423#M52854</guid>
      <dc:creator>piddy</dc:creator>
      <dc:date>2016-04-30T16:27:30Z</dc:date>
    </item>
    <item>
      <title>Re: If string is macthed and number of obs. per bygroup &gt; 1 then delete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/If-string-is-macthed-and-number-of-obs-per-bygroup-gt-1-then/m-p/267481#M52871</link>
      <description>It's always good to know the overall requirement what trying to answer a query.&lt;BR /&gt;But it's also a danger to get "drowned" in all this information. &lt;BR /&gt;Is it possible for you to narrow down your problem to one step, with sample input data to that step, and desired output?</description>
      <pubDate>Sun, 01 May 2016 08:45:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/If-string-is-macthed-and-number-of-obs-per-bygroup-gt-1-then/m-p/267481#M52871</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2016-05-01T08:45:14Z</dc:date>
    </item>
  </channel>
</rss>

