<?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 remove a group of observations based on certain date condition in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793215#M254199</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;

data have;
input ID	Pract_Name $	Hospital_Name $	Date :date9.;
format date date9.;
cards;
1	XYZ	ABC	24-Jun-18
1	XYZ	ASD	 .
2	XYA	TVX	 .
2	XYA	TVX	25-Jun-17
2	XYA	TRF	 .
3	WED	DEC	25-Jun-19
;

proc sort data=have out=_have;
  by id Pract_name Hospital_name;
run;
/*Datastep*/
data want;
  do until(last.Hospital_name);
    set _have;
	by id Pract_name Hospital_name notsorted;
	if .&amp;lt; date &amp;lt; '01jan2018'd then _n_=0;
  end;
  do until(last.Hospital_name);
    set _have;
	by id Pract_name Hospital_name notsorted;
	if _n_ then output;
  end;
run;

/*OR*/

data want;
  merge _have _have(where=(.&amp;lt; _date &amp;lt; '01jan2018'd) keep= id Pract_name Hospital_name date rename=date=_date in=a);
  by id Pract_name Hospital_name;
  if not a;
  drop _date;
run;
/*OR*/
data want;
  if _n_=1 then do;
    dcl hash h(dataset:"have(where=(.&amp;lt; date &amp;lt; '01jan2018'd))");
	h.definekey('id', 'Pract_name', 'Hospital_name');
	h.definedone();
  end;
  set have;
  if h.check() ne 0;
run;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 28 Jan 2022 20:33:13 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2022-01-28T20:33:13Z</dc:date>
    <item>
      <title>How to remove a group of observations based on certain date condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793180#M254183</link>
      <description>&lt;P&gt;I want to delete complete group records based on by group ID Pract_name Hospital_name. if the date value is less than 01/01/2018.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Pract_Name&lt;/TD&gt;&lt;TD&gt;Hospital_Name&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;XYZ&lt;/TD&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;24-Jun-18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;XYZ&lt;/TD&gt;&lt;TD&gt;ASD&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;XYA&lt;/TD&gt;&lt;TD&gt;TVX&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;XYA&lt;/TD&gt;&lt;TD&gt;TVX&lt;/TD&gt;&lt;TD&gt;25-Jun-17&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;XYA&lt;/TD&gt;&lt;TD&gt;TRF&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;WED&lt;/TD&gt;&lt;TD&gt;DEC&lt;/TD&gt;&lt;TD&gt;25-Jun-19&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Required Output:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Pract_Name&lt;/TD&gt;&lt;TD&gt;Hospital_Name&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;XYZ&lt;/TD&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;24-Jun-18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;XYZ&lt;/TD&gt;&lt;TD&gt;ASD&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;XYA&lt;/TD&gt;&lt;TD&gt;TRF&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;WED&lt;/TD&gt;&lt;TD&gt;DEC&lt;/TD&gt;&lt;TD&gt;25-Jun-19&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 28 Jan 2022 18:40:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793180#M254183</guid>
      <dc:creator>Spintu</dc:creator>
      <dc:date>2022-01-28T18:40:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to remove a group of observations based on certain date condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793184#M254186</link>
      <description>&lt;P&gt;What do you mean by "complete group"?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Show us the desired output.&lt;/P&gt;</description>
      <pubDate>Fri, 28 Jan 2022 18:41:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793184#M254186</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-01-28T18:41:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to remove a group of observations based on certain date condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793186#M254188</link>
      <description>I have mentioned as required output</description>
      <pubDate>Fri, 28 Jan 2022 18:48:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793186#M254188</guid>
      <dc:creator>Spintu</dc:creator>
      <dc:date>2022-01-28T18:48:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to remove a group of observations based on certain date condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793187#M254189</link>
      <description>&lt;P&gt;I don't understand "complete group". Please explain.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also explain in more detail the logic that allows you to go from input data set to obtain output data set. Don't make me guess.&lt;/P&gt;</description>
      <pubDate>Fri, 28 Jan 2022 18:53:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793187#M254189</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-01-28T18:53:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to remove a group of observations based on certain date condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793202#M254193</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID	Pract_Name $	Hospital_Name $	Date :date9.;
format date date9.;
cards;
1	XYZ	ABC	24-Jun-18
1	XYZ	ASD	 .
2	XYA	TVX	 .
2	XYA	TVX	25-Jun-17
2	XYA	TRF	 .
3	WED	DEC	25-Jun-19
;

proc sql;
  create table want as
  select *
  from have
  group by id, Pract_name, Hospital_name
  having not max (.&amp;lt; date &amp;lt; '01jan2018'd);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 28 Jan 2022 22:20:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793202#M254193</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2022-01-28T22:20:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to remove a group of observations based on certain date condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793215#M254199</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;

data have;
input ID	Pract_Name $	Hospital_Name $	Date :date9.;
format date date9.;
cards;
1	XYZ	ABC	24-Jun-18
1	XYZ	ASD	 .
2	XYA	TVX	 .
2	XYA	TVX	25-Jun-17
2	XYA	TRF	 .
3	WED	DEC	25-Jun-19
;

proc sort data=have out=_have;
  by id Pract_name Hospital_name;
run;
/*Datastep*/
data want;
  do until(last.Hospital_name);
    set _have;
	by id Pract_name Hospital_name notsorted;
	if .&amp;lt; date &amp;lt; '01jan2018'd then _n_=0;
  end;
  do until(last.Hospital_name);
    set _have;
	by id Pract_name Hospital_name notsorted;
	if _n_ then output;
  end;
run;

/*OR*/

data want;
  merge _have _have(where=(.&amp;lt; _date &amp;lt; '01jan2018'd) keep= id Pract_name Hospital_name date rename=date=_date in=a);
  by id Pract_name Hospital_name;
  if not a;
  drop _date;
run;
/*OR*/
data want;
  if _n_=1 then do;
    dcl hash h(dataset:"have(where=(.&amp;lt; date &amp;lt; '01jan2018'd))");
	h.definekey('id', 'Pract_name', 'Hospital_name');
	h.definedone();
  end;
  set have;
  if h.check() ne 0;
run;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 28 Jan 2022 20:33:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793215#M254199</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2022-01-28T20:33:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to remove a group of observations based on certain date condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793235#M254208</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input ID	Pract_Name $	Hospital_Name $	Date :date9.;
format date date9.;
cards;
1	XYZ	ABC	24-Jun-18
1	XYZ	ASD	 .
2	XYA	TVX	 .
2	XYA	TVX	25-Jun-17
2	XYA	TRF	 .
3	WED	DEC	25-Jun-19
;

proc sql;
  create table want as
  select *
  from have
  where cats(id,Pract_name,Hospital_name) not in 
  (select cats(id,Pract_name,Hospital_name) from have where .&amp;lt; date &amp;lt; '01jan2018'd);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 28 Jan 2022 22:22:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793235#M254208</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2022-01-28T22:22:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to remove a group of observations based on certain date condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793289#M254238</link>
      <description>Thank you!</description>
      <pubDate>Sat, 29 Jan 2022 16:06:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-remove-a-group-of-observations-based-on-certain-date/m-p/793289#M254238</guid>
      <dc:creator>Spintu</dc:creator>
      <dc:date>2022-01-29T16:06:56Z</dc:date>
    </item>
  </channel>
</rss>

