It's easy if you put dates in the right format... see -help dates- and
-help date functions-
gen date=date(dstr,"dmy")
format date %d
gen inwindow=date>=mdy(4,1,2003) & date<mdy(6,1,2003)
egen anyinw=max(inwi), by(id)
li, noo
 +----------------------------------------------------------------+
 | id         dstr           type        date   inwindow   anyinw |
 |----------------------------------------------------------------|
 |  1   01-01-2003     Successful   01jan2003          0        1 |
 |  1   01-05-2003     Successful   01may2003          1        1 |
 |  2   01-03-2002       Deferred   01mar2002          0        0 |
 |  2   31-12-2003   Unsuccessful   31dec2003          0        0 |
 +----------------------------------------------------------------+
On 5/16/06, Hillgrove, Tessa (SA) <[email protected]> wrote:
My dataset is in the following format
ID      Attend Date     Type
1       01-01-2003      Successful
1       01-05-2003      Successful
2       01-03-2002      Deferred
2       31-12-2003      Unsuccessful
I have two "problems" with my dataset : (1) I have more subjects than I need
and (2) and a wider range of attendance dates than I need.
I am trying to identify subjects that had an appointment on any dates within
a two month range.
I will drop all respondents who do not.
Of the respondents that did have an appointment, I will need to only
consider attendance within a specific range (and drop the remainder).
Any ideas of how to do this?
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/