<?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 split dataset with multiple conditions in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850354#M336072</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/423694" target="_blank" rel="noopener"&gt;mtnbikerjoshua,&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for the response. I think we are almost there. So, what I want to accomplish, and the challenge is to analyze the result of each row as well as the results of the group.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For "Pass" table, it would be&lt;/P&gt;&lt;P&gt;1) If the difference between the finished date of the current "success" and the finished date of the last "success" was less or equal to 1 day. Then&amp;nbsp;&lt;/P&gt;&lt;P&gt;all the preceding failures as well as the current success would be dumped into "Pass" table.&lt;/P&gt;&lt;P&gt;Would it be something like this?&lt;/P&gt;&lt;P&gt;a) If current client &amp;lt;&amp;gt; previous client and current statis = success and current Finished - current Started &amp;lt;= 1&lt;/P&gt;&lt;P&gt;b) If current client = previous client and&amp;nbsp;current statis = success and previous status = success&amp;nbsp;and current Finished - current Started &amp;lt;= 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For "Open" table, it would be&lt;/P&gt;&lt;P&gt;1)&amp;nbsp;&amp;nbsp;If there was no "success" in the group. I think we got this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For "Exception" table, it would be&lt;/P&gt;&lt;P&gt;1)&amp;nbsp; If the difference between the finished date of the current "success" and the finished date of the last "success" was greater than 1 day. Then all the preceding failures (could be more than one) as well as the current success would be dumped into "Exception" table.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 19 Dec 2022 17:18:24 GMT</pubDate>
    <dc:creator>NewbieTom</dc:creator>
    <dc:date>2022-12-19T17:18:24Z</dc:date>
    <item>
      <title>How to split dataset with multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850145#M336014</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is the original dataset that I want to split it into 3 different datasets as pass, open, and exception. Could someone kindly show me how to go about doing this? Any help is greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. Pass will contain all the ones with status = success and the difference between finished date and started date is equal or less than 1 day for the same client.&lt;/P&gt;&lt;P&gt;2. Open will contain all the ones with status=failed and no success for the same client.&lt;/P&gt;&lt;P&gt;3. Exception will contain all the ones with mix of failed and success status, but the finished date of last success is more than 1 day from the started date of first failure.&lt;/P&gt;&lt;P&gt;See the example output below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Original dataset:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Client&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;TD&gt;Started&lt;/TD&gt;&lt;TD&gt;Finished&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;adfs02.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/27/2022&lt;/TD&gt;&lt;TD&gt;2/27/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;adfs02.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devcsssql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/27/2022&lt;/TD&gt;&lt;TD&gt;2/27/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devcsssql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdbasql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdbasql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdbasql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdbasql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/8/2022&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/10/2022&lt;/TD&gt;&lt;TD&gt;2/10/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/10/2022&lt;/TD&gt;&lt;TD&gt;2/10/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/12/2022&lt;/TD&gt;&lt;TD&gt;2/13/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/13/2022&lt;/TD&gt;&lt;TD&gt;2/13/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/13/2022&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devspdb01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;3/1/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;prddlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Pass:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Client&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;TD&gt;Started&lt;/TD&gt;&lt;TD&gt;Finished&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;adfs02.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/27/2022&lt;/TD&gt;&lt;TD&gt;2/27/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;adfs02.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devcsssql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/27/2022&lt;/TD&gt;&lt;TD&gt;2/27/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devcsssql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/8/2022&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;TD&gt;2/9/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/10/2022&lt;/TD&gt;&lt;TD&gt;2/10/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/10/2022&lt;/TD&gt;&lt;TD&gt;2/10/2022&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Open:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Client&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;TD&gt;Started&lt;/TD&gt;&lt;TD&gt;Finished&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdbasql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdbasql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdbasql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdbasql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devspdb01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;3/1/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;prddlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;TD&gt;2/28/2022&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Exception:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Client&lt;/TD&gt;&lt;TD&gt;Status&lt;/TD&gt;&lt;TD&gt;Started&lt;/TD&gt;&lt;TD&gt;Finished&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/12/2022&lt;/TD&gt;&lt;TD&gt;2/13/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/13/2022&lt;/TD&gt;&lt;TD&gt;2/13/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/13/2022&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;failed&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;devdlakesql01.ccnb.com&lt;/TD&gt;&lt;TD&gt;success&lt;/TD&gt;&lt;TD&gt;2/14/2022&lt;/TD&gt;&lt;TD&gt;2/15/2022&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 16 Dec 2022 20:26:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850145#M336014</guid>
      <dc:creator>NewbieTom</dc:creator>
      <dc:date>2022-12-16T20:26:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to split dataset with multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850166#M336015</link>
      <description>&lt;P&gt;It seems like you are looking at the rows in groups of all the failures for a certain client up until one success. I was able to accomplish your desired output by adding a group variable and then using the having clause in proc sql. I also had to add a sort order variable in order to keep the rows in the original order. Let me know if this is what you are looking for, or if I misunderstand.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;data original;
  length client $50 status $10;
  input Client $ Status $ Started Finished;
  informat started finished mmddyy10.;
  format started finished mmddyy10.;
  datalines;
adfs02.ccnb.com failed 2/27/2022 2/27/2022
adfs02.ccnb.com success 2/28/2022 2/28/2022
devcsssql01.ccnb.com failed 2/27/2022 2/27/2022
devcsssql01.ccnb.com success 2/28/2022 2/28/2022
devdbasql01.ccnb.com failed 2/14/2022 2/14/2022
devdbasql01.ccnb.com failed 2/15/2022 2/15/2022
devdbasql01.ccnb.com failed 2/15/2022 2/15/2022
devdbasql01.ccnb.com failed 2/15/2022 2/15/2022
devdlakesql01.ccnb.com failed 2/8/2022 2/9/2022
devdlakesql01.ccnb.com success 2/9/2022 2/9/2022
devdlakesql01.ccnb.com failed 2/9/2022 2/9/2022
devdlakesql01.ccnb.com failed 2/10/2022 2/10/2022
devdlakesql01.ccnb.com success 2/10/2022 2/10/2022
devdlakesql01.ccnb.com failed 2/12/2022 2/13/2022
devdlakesql01.ccnb.com failed 2/13/2022 2/13/2022
devdlakesql01.ccnb.com failed 2/13/2022 2/14/2022
devdlakesql01.ccnb.com failed 2/14/2022 2/14/2022
devdlakesql01.ccnb.com success 2/14/2022 2/15/2022
devdlakesql01.ccnb.com failed 2/28/2022 2/28/2022
devspdb01.ccnb.com failed 2/28/2022 3/1/2022
prddlakesql01.ccnb.com failed 2/28/2022 2/28/2022
;
run;

data grouped;
  set original;
  by client;
  sortorder = _n_;
  if first.client then group = 1;
  output;
  if status = "success" then group + 1;
run;

proc sql;
  create table pass as
    select client, status, started, finished
    from grouped
    group by client, group
    having sum(status = "success") &amp;gt; 0 and max(finished) - min(started) &amp;lt;= 1
    order by sortorder
  ;
  create table open as
    select client, status, started, finished
    from grouped
    group by client, group
    having sum(status = "success") = 0
    order by sortorder
  ;
  create table exception as
    select client, status, started, finished
    from grouped
    group by client, group
    having sum(status = "success") &amp;gt; 0 and max(finished) - min(started) &amp;gt; 1
    order by sortorder
  ;
run;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Dec 2022 22:17:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850166#M336015</guid>
      <dc:creator>mtnbikerjoshua</dc:creator>
      <dc:date>2022-12-16T22:17:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to split dataset with multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850354#M336072</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/423694" target="_blank" rel="noopener"&gt;mtnbikerjoshua,&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for the response. I think we are almost there. So, what I want to accomplish, and the challenge is to analyze the result of each row as well as the results of the group.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For "Pass" table, it would be&lt;/P&gt;&lt;P&gt;1) If the difference between the finished date of the current "success" and the finished date of the last "success" was less or equal to 1 day. Then&amp;nbsp;&lt;/P&gt;&lt;P&gt;all the preceding failures as well as the current success would be dumped into "Pass" table.&lt;/P&gt;&lt;P&gt;Would it be something like this?&lt;/P&gt;&lt;P&gt;a) If current client &amp;lt;&amp;gt; previous client and current statis = success and current Finished - current Started &amp;lt;= 1&lt;/P&gt;&lt;P&gt;b) If current client = previous client and&amp;nbsp;current statis = success and previous status = success&amp;nbsp;and current Finished - current Started &amp;lt;= 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For "Open" table, it would be&lt;/P&gt;&lt;P&gt;1)&amp;nbsp;&amp;nbsp;If there was no "success" in the group. I think we got this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For "Exception" table, it would be&lt;/P&gt;&lt;P&gt;1)&amp;nbsp; If the difference between the finished date of the current "success" and the finished date of the last "success" was greater than 1 day. Then all the preceding failures (could be more than one) as well as the current success would be dumped into "Exception" table.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Dec 2022 17:18:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850354#M336072</guid>
      <dc:creator>NewbieTom</dc:creator>
      <dc:date>2022-12-19T17:18:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to split dataset with multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850390#M336088</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/436326"&gt;@NewbieTom&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not sure I totally understand you. You say that you want to analyze each row as well as the whole group. In that case, you could add the group condition to the data as a new column and then filter by it later, something like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;proc sql;
  create table pass1 as
    select client, status, started, finished, 
      sum(status = "success") &amp;gt; 0 and max(finished) - min(started) &amp;lt;= 1 as pass 
    from grouped
    group by client, group
    order by sortorder
  ;
quit;

data pass;
  set pass1;
  where pass /* and other criteria */;
  drop pass;
run;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not sure how that connects to the rest of your post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080"&gt;&lt;EM&gt;For "Pass" table, it would be&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080"&gt;&lt;EM&gt;1) If the difference between the finished date of the current "success" and the finished date of the last "success" was less or equal to 1 day. Then&amp;nbsp;&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080"&gt;&lt;EM&gt;all the preceding failures as well as the current success would be dumped into "Pass" table.&amp;nbsp;&lt;/EM&gt;&lt;FONT color="#000000"&gt;Do you mean to say that instead of comparing the finished date of the current success and the start date of the first of the preceding series of consecutive failures, you want to compare the finished date of the current success to the finished date of the preceding success? Is that true even if the previous success was for a different client?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080"&gt;&lt;EM&gt;Would it be something like this?&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM style="color: #000080;"&gt;a) If current client &amp;lt;&amp;gt; previous client and current statis = success and current Finished - current Started &amp;lt;= 1&amp;nbsp;&lt;/EM&gt;&lt;FONT color="#000000"&gt;&lt;FONT color="#000080"&gt;&lt;FONT color="#000000"&gt;Is this &lt;/FONT&gt;&lt;/FONT&gt;referring&amp;nbsp;to the case where the first row for a certain client is a success? If so, that would be handled by the code I shared. (There would only be one record in the group, so&amp;nbsp;max(finished) would be the finished date of that one success and&amp;nbsp;min(started) would be the started date for the same record.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM style="color: #000080;"&gt;b) If current client = previous client and&amp;nbsp;current statis = success and previous status = success&amp;nbsp;and current Finished - current Started &amp;lt;= 1&amp;nbsp;&lt;/EM&gt;&lt;FONT color="#000000"&gt;Is this referring&amp;nbsp;to the case of two successes in a row for the same client? If so, the same is true that I said for a).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080"&gt;&lt;EM&gt;For "Open" table, it would be&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080"&gt;&lt;EM&gt;1)&amp;nbsp;&amp;nbsp;If there was no "success" in the group. I think we got this.&amp;nbsp;&lt;/EM&gt;&lt;FONT color="#000000"&gt;Great!&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080"&gt;&lt;EM&gt;For "Exception" table, it would be&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080"&gt;&lt;EM&gt;1)&amp;nbsp; If the difference between the finished date of the current "success" and the finished date of the last "success" was greater than 1 day. Then all the preceding failures (could be more than one) as well as the current success would be dumped into "Exception" table.&amp;nbsp;&lt;/EM&gt;&lt;FONT color="#000000"&gt;This is the same as what I did in my program, except use finished date of previous success instead of start date of first consecutive failure. Correct?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Dec 2022 21:20:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850390#M336088</guid>
      <dc:creator>mtnbikerjoshua</dc:creator>
      <dc:date>2022-12-19T21:20:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to split dataset with multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850475#M336118</link>
      <description>&lt;P&gt;Hi.&amp;nbsp; A possible additional option is as follows.&amp;nbsp; I put the original data in sasuser.original.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data Success Failed Exception;&lt;BR /&gt;set sasuser.Original;&lt;BR /&gt;If upcase(status)="SUCCESS" and started-finished=0 then output Success;&lt;BR /&gt;Else If upcase(status)="FAILED" and started-finished=0 then output Failed;&lt;BR /&gt;Else output Exception;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;BR /&gt;proc print data=sasuser.original;&lt;BR /&gt;title "Original Table";&lt;BR /&gt;run;&lt;BR /&gt;proc print data=Work.Success;&lt;BR /&gt;title "Success Table";&lt;BR /&gt;run;&lt;BR /&gt;proc print data=Work.Failed;&lt;BR /&gt;title "Failled Table";&lt;BR /&gt;run;&lt;BR /&gt;proc print data=Work.Exception;&lt;BR /&gt;title "Exception Table";&lt;BR /&gt;run;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;TABLE class="systitleandfootercontainer" summary="Page Layout" width="100%" frame="void" rules="none" cellspacing="1" cellpadding="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="c systemtitle"&gt;Original Table&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set SASUSER.ORIGINAL" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;Obs&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;Email&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;Status&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;Started&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;Finished&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="l data"&gt;adfs02.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/27/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/27/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="l data"&gt;adfs02.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="l data"&gt;devcsssql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/27/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/27/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="l data"&gt;devcsssql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;5&lt;/TH&gt;
&lt;TD class="l data"&gt;devdbasql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;6&lt;/TH&gt;
&lt;TD class="l data"&gt;devdbasql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;7&lt;/TH&gt;
&lt;TD class="l data"&gt;devdbasql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;8&lt;/TH&gt;
&lt;TD class="l data"&gt;devdbasql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;9&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/08/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;10&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;11&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;12&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/10/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/10/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;13&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/10/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/10/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;14&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/12/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/13/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;15&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/13/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/13/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;16&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/13/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;17&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;18&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;19&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;20&lt;/TH&gt;
&lt;TD class="l data"&gt;devspdb01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;03/01/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;21&lt;/TH&gt;
&lt;TD class="l data"&gt;prddlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="branch"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR size="3" /&gt;&lt;A name="IDX1" target="_blank"&gt;&lt;/A&gt;
&lt;TABLE class="systitleandfootercontainer" summary="Page Layout" width="100%" frame="void" rules="none" cellspacing="1" cellpadding="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="c systemtitle"&gt;Success Table&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.SUCCESS" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;Obs&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;Email&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;Status&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;Started&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;Finished&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="l data"&gt;adfs02.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="l data"&gt;devcsssql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/10/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/10/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="branch"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR size="3" /&gt;&lt;A name="IDX2" target="_blank"&gt;&lt;/A&gt;
&lt;TABLE class="systitleandfootercontainer" summary="Page Layout" width="100%" frame="void" rules="none" cellspacing="1" cellpadding="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="c systemtitle"&gt;Failled Table&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.FAILED" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;Obs&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;Email&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;Status&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;Started&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;Finished&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="l data"&gt;adfs02.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/27/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/27/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="l data"&gt;devcsssql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/27/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/27/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="l data"&gt;devdbasql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="l data"&gt;devdbasql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;5&lt;/TH&gt;
&lt;TD class="l data"&gt;devdbasql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;6&lt;/TH&gt;
&lt;TD class="l data"&gt;devdbasql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;7&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;8&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/10/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/10/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;9&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/13/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/13/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;10&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;11&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;12&lt;/TH&gt;
&lt;TD class="l data"&gt;prddlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="branch"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR size="3" /&gt;&lt;A name="IDX3" target="_blank"&gt;&lt;/A&gt;
&lt;TABLE class="systitleandfootercontainer" summary="Page Layout" width="100%" frame="void" rules="none" cellspacing="1" cellpadding="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="c systemtitle"&gt;Exception Table&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.EXCEPTION" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;&lt;COLGROUP&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;Obs&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;Email&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;Status&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;Started&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;Finished&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/08/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/09/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/12/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/13/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/13/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="l data"&gt;devdlakesql01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;success&lt;/TD&gt;
&lt;TD class="r data"&gt;02/14/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;02/15/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;5&lt;/TH&gt;
&lt;TD class="l data"&gt;devspdb01.ccnb.com&lt;/TD&gt;
&lt;TD class="l data"&gt;failed&lt;/TD&gt;
&lt;TD class="r data"&gt;02/28/2022&lt;/TD&gt;
&lt;TD class="r data"&gt;03/01/2022&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 20 Dec 2022 13:31:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850475#M336118</guid>
      <dc:creator>john_mccall</dc:creator>
      <dc:date>2022-12-20T13:31:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to split dataset with multiple conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850765#M336204</link>
      <description>&lt;P&gt;I think it can be done in a single data step, like this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data pass open exception;
  do until(last.client or status='success');
    set original;
    by client;
	if first.client then
	  date0=started;
	end;
  if status='failed' then
	type='O';
  else if finished-date0&amp;gt;1 then 
	type='E';
  else
	type='P';
  date0=finished;
  retain date0;
  do until(last.client or status='success');
    set original;
    by client;
    select(type);
	  when('O') output open;
	  when('P') output pass;
	  otherwise output exception;
	  end;
	end;
  drop date0 type;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 22 Dec 2022 11:58:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-split-dataset-with-multiple-conditions/m-p/850765#M336204</guid>
      <dc:creator>s_lassen</dc:creator>
      <dc:date>2022-12-22T11:58:51Z</dc:date>
    </item>
  </channel>
</rss>

