<?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 delete obs for a month in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404262#M278999</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138303"&gt;@aminkarimid&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;As long as your &lt;EM&gt;date&lt;/EM&gt; variable is numeric containing a SAS Date value, code like below should do:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile datalines dlm=' ' truncover;
  input name $1. date:yymmdd10. value;
  format date date9.;
  datalines;
a 2001.01.01 2
a 2001.01.02 3
a 2001.02.01 1
a 2001.03.05 4
b 2001.01.04 1
b 2001.01.15 4
b 2001.01.21 2
b 2001.01.22 3
b 2001.03.04 2
b 2001.03.07 5
b 2001.04.01 4
c 2001.02.05 2
c 2001.02.10 1
c 2001.02.11 2
c 2001.02.17 2
c 2001.03.10 1
c 2001.04.03 2
c 2001.05.09 3
;
run;

data want(drop=_:);
  set have;
  by name date;
  retain _r_date;
  if first.name then _r_date=date;
  if intck('month',_r_date,date)&amp;gt;0;
run; &lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sun, 15 Oct 2017 02:35:10 GMT</pubDate>
    <dc:creator>Patrick</dc:creator>
    <dc:date>2017-10-15T02:35:10Z</dc:date>
    <item>
      <title>How to delete obs for a month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404234#M278996</link>
      <description>&lt;P&gt;Hello everybody;&lt;/P&gt;&lt;P&gt;Please, consider the following sample:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;value&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;2001.01.01&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;2001.01.02&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;2001.02.01&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;2001.03.05&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.01.04&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.01.15&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.01.21&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.01.22&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.03.04&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.03.07&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.04.01&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.02.05&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.02.10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.02.11&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.02.17&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.03.10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.04.03&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.05.09&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now, I want to remove observations of first month for each name variable.&lt;/P&gt;&lt;P&gt;So, the final table is:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;value&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;2001.02.01&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;2001.03.05&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.03.04&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.03.07&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;2001.04.01&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.03.10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.04.03&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;2001.05.09&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I do this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Sat, 14 Oct 2017 19:50:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404234#M278996</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-10-14T19:50:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete obs for a month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404244#M278997</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  length name $ 1 date $ 10;
  input name date value;
  datalines;
a 2001.01.01 2
a 2001.01.02 3
a 2001.02.01 1
a 2001.03.05 4
b 2001.01.04 1
b 2001.01.15 4
b 2001.01.21 2
b 2001.01.22 3
b 2001.03.04 2
b 2001.03.07 5
b 2001.04.01 4
c 2001.02.05 2
c 2001.02.10 1
c 2001.02.11 2
c 2001.02.17 2
c 2001.03.10 1
c 2001.04.03 2
c 2001.05.09 3
  ;
run;

proc print data=have;
  title 'This is have data set';
run;

data have_with_month;
  set have;
  month=substr(date,6,2);
run;

proc sort data=have_with_month;
  by name month;
run;

data first_month_for_name;
  set have_with_month(keep=name month);
  by name month;
  if first.name;
run;

data want(drop=month);
  merge have_with_month(in=h)
        first_month_for_name(in=f);
  by name month;
  if h and not f;
run;

proc print data=want;
  title 'This is want data set';
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 14 Oct 2017 21:09:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404244#M278997</guid>
      <dc:creator>SuzanneDorinski</dc:creator>
      <dc:date>2017-10-14T21:09:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete obs for a month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404260#M278998</link>
      <description>&lt;P&gt;There are a few loose ends here.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Is your date variable a character string, or is it a true SAS date?&lt;/LI&gt;
&lt;LI&gt;Do your observations ever span more than one year for a single name?&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Since you have dots in the middle of your dates, I'll assume that they are character.&amp;nbsp; In that case:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=have;&lt;/P&gt;
&lt;P&gt;by name date;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by name;&lt;/P&gt;
&lt;P&gt;length test_ym $ 7;&lt;/P&gt;
&lt;P&gt;if first.name then test_ym = date;&lt;/P&gt;
&lt;P&gt;retain test_ym;&lt;/P&gt;
&lt;P&gt;if date =: test_ym then delete;&lt;/P&gt;
&lt;P&gt;drop test_ym;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Sun, 15 Oct 2017 01:44:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404260#M278998</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-10-15T01:44:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete obs for a month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404262#M278999</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138303"&gt;@aminkarimid&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;As long as your &lt;EM&gt;date&lt;/EM&gt; variable is numeric containing a SAS Date value, code like below should do:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile datalines dlm=' ' truncover;
  input name $1. date:yymmdd10. value;
  format date date9.;
  datalines;
a 2001.01.01 2
a 2001.01.02 3
a 2001.02.01 1
a 2001.03.05 4
b 2001.01.04 1
b 2001.01.15 4
b 2001.01.21 2
b 2001.01.22 3
b 2001.03.04 2
b 2001.03.07 5
b 2001.04.01 4
c 2001.02.05 2
c 2001.02.10 1
c 2001.02.11 2
c 2001.02.17 2
c 2001.03.10 1
c 2001.04.03 2
c 2001.05.09 3
;
run;

data want(drop=_:);
  set have;
  by name date;
  retain _r_date;
  if first.name then _r_date=date;
  if intck('month',_r_date,date)&amp;gt;0;
run; &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 15 Oct 2017 02:35:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404262#M278999</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2017-10-15T02:35:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete obs for a month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404278#M279000</link>
      <description>Hello &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&lt;BR /&gt;Q1: Answer: The date is a numeric variable.&lt;BR /&gt;Q2: Answer: Yes.&lt;BR /&gt;Thanks.</description>
      <pubDate>Sun, 15 Oct 2017 08:04:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404278#M279000</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-10-15T08:04:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete obs for a month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404285#M279001</link>
      <description>&lt;P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile datalines dlm=' ' truncover;
  input name $1. date:yymmdd10. value;
  month=month(date);
  format date date9.;
  datalines;
a 2001.01.01 2
a 2001.01.02 3
a 2001.02.01 1
a 2001.03.05 4
b 2001.01.04 1
b 2001.01.15 4
b 2001.01.21 2
b 2001.01.22 3
b 2001.03.04 2
b 2001.03.07 5
b 2001.04.01 4
c 2001.02.05 2
c 2001.02.10 1
c 2001.02.11 2
c 2001.02.17 2
c 2001.03.10 1
c 2001.04.03 2
c 2001.05.09 3
;
run;

data want(drop=group);
  set have;
  by name month;
  if first.name then group=0;
  group+first.month;
  if group ne 1;
run; &lt;/CODE&gt;&lt;/PRE&gt;&lt;BR data-mce-bogus="1" /&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 15 Oct 2017 09:47:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404285#M279001</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-10-15T09:47:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete obs for a month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404293#M279002</link>
      <description>&lt;P&gt;Based on those answers, I would go for&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12447"&gt;@Patrick&lt;/a&gt;'s solution.&amp;nbsp; Off the top of my head, I would want to test what happens with INTCK when the starting point is the first day of the month.&amp;nbsp; But I suspect that Patrick already did that.&amp;nbsp; My solution is fine for a character date variable, while Patrick's is good for a numeric date variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 15 Oct 2017 13:40:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404293#M279002</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-10-15T13:40:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to delete obs for a month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404401#M279003</link>
      <description>Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12496"&gt;@SuzanneDorinski&lt;/a&gt;&lt;BR /&gt;Your program is awesome;&lt;BR /&gt;But, I made a mistake to explain my question. My observations span more than one year for a single name.</description>
      <pubDate>Mon, 16 Oct 2017 08:20:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-delete-obs-for-a-month/m-p/404401#M279003</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-10-16T08:20:39Z</dc:date>
    </item>
  </channel>
</rss>

