<?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: Working with SAS date to create different data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460913#M284710</link>
    <description>&lt;P&gt;Thank you, works well!!!!&lt;/P&gt;</description>
    <pubDate>Wed, 09 May 2018 04:54:24 GMT</pubDate>
    <dc:creator>desireatem</dc:creator>
    <dc:date>2018-05-09T04:54:24Z</dc:date>
    <item>
      <title>Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460746#M284699</link>
      <description>&lt;P&gt;Hello -,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have this data:&lt;/P&gt;
&lt;P&gt;birthdate&amp;nbsp; &amp;nbsp; &amp;nbsp;Age&lt;/P&gt;
&lt;P&gt;6/22/99&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;18.9&lt;/P&gt;
&lt;P&gt;7/6/99&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 18.9&lt;/P&gt;
&lt;P&gt;.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;
&lt;P&gt;.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;
&lt;P&gt;.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;9/15/05&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;12.6&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This are my question.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to create data sets where the different in age from the youngest and oldest is not more that 3.5 years using the birthdate.&amp;nbsp;You can use the first birthday as first date&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you,&lt;/P&gt;
&lt;P&gt;DA&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 May 2018 19:12:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460746#M284699</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2018-05-08T19:12:36Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460758#M284700</link>
      <description>&lt;P&gt;I don't get this. What if the birth dates are spread out so that there are like 20 years from the first to the last one? Then two data sets will not cut it if there are not supposed to be more than 3,5 years difference between them?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please be more specific and post some sample data and what you want the desired outcome to look like.&lt;/P&gt;</description>
      <pubDate>Tue, 08 May 2018 17:05:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460758#M284700</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-05-08T17:05:00Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460787#M284701</link>
      <description>&lt;P&gt;Below is the birthdate and&amp;nbsp; age . I want to create a data&amp;nbsp;such that the difference in&amp;nbsp; birthday&amp;nbsp;between the youngest and oldest person in that data should not be more than 3.5 years. This is just a partial data, the entire data has age difference between the youngest and oldest at 18 years&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="127"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="83"&gt;Birth Date&lt;/TD&gt;
&lt;TD width="44"&gt;Age&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;6/22/99&lt;/TD&gt;
&lt;TD&gt;18.9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/6/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;6/30/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/8/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/8/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;6/21/99&lt;/TD&gt;
&lt;TD&gt;18.9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/15/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/12/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;4/25/99&lt;/TD&gt;
&lt;TD&gt;19.0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/6/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/9/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/20/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/22/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;3/2/99&lt;/TD&gt;
&lt;TD&gt;19.2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/11/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/2/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/9/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/22/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;6/16/99&lt;/TD&gt;
&lt;TD&gt;18.9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/29/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/17/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/17/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;1/27/99&lt;/TD&gt;
&lt;TD&gt;19.3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;5/29/99&lt;/TD&gt;
&lt;TD&gt;18.9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/16/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/23/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;9/2/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;2/10/99&lt;/TD&gt;
&lt;TD&gt;19.2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/7/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;1/19/99&lt;/TD&gt;
&lt;TD&gt;19.3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;9/24/99&lt;/TD&gt;
&lt;TD&gt;18.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/10/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;5/31/99&lt;/TD&gt;
&lt;TD&gt;18.9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;9/25/99&lt;/TD&gt;
&lt;TD&gt;18.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;6/3/99&lt;/TD&gt;
&lt;TD&gt;18.9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;5/20/99&lt;/TD&gt;
&lt;TD&gt;19.0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;6/26/99&lt;/TD&gt;
&lt;TD&gt;18.9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/28/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;9/27/99&lt;/TD&gt;
&lt;TD&gt;18.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;9/9/99&lt;/TD&gt;
&lt;TD&gt;18.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/18/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/6/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;10/17/99&lt;/TD&gt;
&lt;TD&gt;18.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;4/22/99&lt;/TD&gt;
&lt;TD&gt;19.0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;1/29/99&lt;/TD&gt;
&lt;TD&gt;19.3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;10/15/99&lt;/TD&gt;
&lt;TD&gt;18.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;10/18/99&lt;/TD&gt;
&lt;TD&gt;18.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/15/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;10/21/99&lt;/TD&gt;
&lt;TD&gt;18.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;7/29/99&lt;/TD&gt;
&lt;TD&gt;18.8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/20/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/20/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;5/25/99&lt;/TD&gt;
&lt;TD&gt;18.9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;9/15/99&lt;/TD&gt;
&lt;TD&gt;18.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/14/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;9/28/99&lt;/TD&gt;
&lt;TD&gt;18.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;10/28/99&lt;/TD&gt;
&lt;TD&gt;18.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;5/9/99&lt;/TD&gt;
&lt;TD&gt;19.0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;10/24/99&lt;/TD&gt;
&lt;TD&gt;18.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;8/11/99&lt;/TD&gt;
&lt;TD&gt;18.7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;5/4/99&lt;/TD&gt;
&lt;TD&gt;19.0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;10/2/99&lt;/TD&gt;
&lt;TD&gt;18.6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;11/26/99&lt;/TD&gt;
&lt;TD&gt;18.4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;11/9/99&lt;/TD&gt;
&lt;TD&gt;18.5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;4/17/99&lt;/TD&gt;
&lt;TD&gt;19.0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 May 2018 18:20:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460787#M284701</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2018-05-08T18:20:26Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460796#M284702</link>
      <description>&lt;P&gt;What is the actual smallest value of age in your data? The largest?&lt;/P&gt;
&lt;P&gt;Are all of you values rounded to one decimal place?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Generally almost any process splitting data on values of a single variable are likely to be more difficult.&lt;/P&gt;
&lt;P&gt;Suppose your data has the minimum age of 13.4 this time. Then the "first" data set, which you have not given any naming rule for would contain ages of 13.4 to 16.9.&lt;/P&gt;
&lt;P&gt;Now suppose you are repeating this process with another data set later where the youngest age is 9.8. Then the "first" data set would have ages 9.8 to 13.3. Which has nothing in common with the first data set from the first process. So every bit of logic would have to change to arrange results differently, select the "correct" data set for any specific task.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is the actual purpose behind splitting the data? Why is 3.5 critical?&lt;/P&gt;</description>
      <pubDate>Tue, 08 May 2018 18:51:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460796#M284702</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-05-08T18:51:39Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460809#M284703</link>
      <description>&lt;P&gt;Let make it&amp;nbsp; easy, let us not split that data. Let just create a data set where the difference between the oldest person and the youngest person is not more than 3.5 years&lt;/P&gt;</description>
      <pubDate>Tue, 08 May 2018 19:14:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460809#M284703</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2018-05-08T19:14:51Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460820#M284704</link>
      <description>&lt;P&gt;Here is a way to find the largest&amp;nbsp;set of birthdates with a span &amp;lt;= 6 months&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input BirthDate :mmddyy. Age;
id = _n_; /* You must have some kind of person id */
format birthdate yymmdd10.;
datalines; 
 6/22/99 18.9 
 7/6/99 18.8 
 6/30/99 18.8 
 7/8/99 18.8 
 7/8/99 18.8 
 6/21/99 18.9 
 7/15/99 18.8 
 7/12/99 18.8 
 4/25/99 19.0 
 8/6/99 18.7 
 7/9/99 18.8 
 8/20/99 18.7 
 7/22/99 18.8 
 3/2/99 19.2 
 7/11/99 18.8 
 8/2/99 18.7 
 7/9/99 18.8 
 8/22/99 18.7 
 6/16/99 18.9 
 7/29/99 18.8 
 8/17/99 18.7 
 8/17/99 18.7 
 1/27/99 19.3 
 5/29/99 18.9 
 7/16/99 18.8 
 8/23/99 18.7 
 9/2/99 18.7 
 2/10/99 19.2 
 8/7/99 18.7 
 1/19/99 19.3 
 9/24/99 18.6 
 7/10/99 18.8 
 5/31/99 18.9 
 9/25/99 18.6 
 6/3/99 18.9 
 5/20/99 19.0 
 6/26/99 18.9 
 8/28/99 18.7 
 9/27/99 18.6 
 9/9/99 18.6 
 7/18/99 18.8 
 8/6/99 18.7 
 10/17/99 18.5 
 4/22/99 19.0 
 1/29/99 19.3 
 10/15/99 18.5 
 10/18/99 18.5 
 7/15/99 18.8 
 10/21/99 18.5 
 7/29/99 18.8 
 8/20/99 18.7 
 8/20/99 18.7 
 5/25/99 18.9 
 9/15/99 18.6 
 8/14/99 18.7 
 9/28/99 18.6 
 10/28/99 18.5 
 5/9/99 19.0 
 10/24/99 18.5 
 8/11/99 18.7 
 5/4/99 19.0 
 10/2/99 18.6 
 11/26/99 18.4 
 11/9/99 18.5 
 4/17/99 19.0 
;

proc sql;
create table groups as
select
    a.id, 
    a.birthdate as startDate, 
    intnx("month",a.birthdate,6,"same") as endDate,
    count(*) as grpSize
from
    have as a inner join
    have as b 
        on b.birthdate between a.birthdate and intnx("month",a.birthdate,6,"same")
group by a.id, startDate, endDate
order by grpSize desc;
quit;

data want;
if _n_ = 1 then set groups;
set have;
if startDate &amp;lt;= birthdate &amp;lt;= endDate;
keep id birthdate age;
run; 
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I don't understand your second request.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 May 2018 19:42:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460820#M284704</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-05-08T19:42:02Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460854#M284705</link>
      <description>&lt;P&gt;Here is a faster way to do the same, without SQL:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=have out=sortedDates(keep=birthDate); by birthdate; run;

data grps;
set sortedDates(rename=birthDate=startDate);
endDate = intnx("month",startDate,6,"same");
do while(birthDate &amp;lt;= endDate and not done);
    set sortedDates end=done;
    last + 1;
    end;
grpSize = last - _n_ + 1;
output;
if done then stop;
keep startDate endDate grpSize;
run;

proc means data=grps noprint;
output out=maxGrp maxid(grpSize(startDate endDate))=startDate endDate;
run;

data want;
if _n_ = 1 then set maxGrp;
set have;
if startDate &amp;lt;= birthdate &amp;lt;= endDate;
keep id birthdate age;
run; 
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 08 May 2018 20:52:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460854#M284705</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-05-08T20:52:18Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460861#M284706</link>
      <description>&lt;P&gt;So if I want the largest set of birthday with 3.5 years, i will replace 6 by 42 in this statements:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token function"&gt;intnx&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"month"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;a&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;birthdate&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;6&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"same"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; as endDate&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;on b&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;birthdate between a&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;birthdate and &lt;SPAN class="token function"&gt;intnx&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"month"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;a&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;birthdate&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;6&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;"same"&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;????&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 May 2018 21:01:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460861#M284706</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2018-05-08T21:01:50Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460863#M284707</link>
      <description>&lt;P&gt;Yes. I used 6 months as an example, since your&amp;nbsp;sample data didn't cover 3.5 years.&lt;/P&gt;</description>
      <pubDate>Tue, 08 May 2018 21:05:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460863#M284707</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-05-08T21:05:38Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460901#M284708</link>
      <description>&lt;P&gt;I try to use the faster approach with sql but had issue;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=DFW out=sortedDates; by birthdate; run;&lt;/P&gt;
&lt;P&gt;data grps;&lt;BR /&gt;set sortedDates(rename=birthDate=startDate);&lt;BR /&gt;endDate = intnx("month",startDate,42,"same");&lt;BR /&gt;do while(birthDate &amp;lt;= endDate and not done);&lt;BR /&gt; set sortedDates end=done;&lt;BR /&gt; last + 1;&lt;BR /&gt; end;&lt;BR /&gt;grpSize = last - _n_ + 1;&lt;BR /&gt;output;&lt;BR /&gt;if done then stop;&lt;BR /&gt;*keep startDate endDate grpSize;&lt;BR /&gt;run;&lt;BR /&gt;data grps (rename=(PtMRN=id));&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;proc means data=grps noprint;&lt;BR /&gt;output out=maxGrp maxid(grpSize(startDate endDate))=startDate endDate;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;data want;&lt;BR /&gt;if _n_ = 1 then set maxGrp;&lt;BR /&gt;set have;&lt;BR /&gt;if startDate &amp;lt;= birthdate &amp;lt;= endDate;&lt;BR /&gt;*keep PtMRN birthdate age;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;129 data grps (rename=(PtMRN=id));&lt;BR /&gt;130 run;&lt;/P&gt;
&lt;P&gt;WARNING: The variable PtMRN in the DROP, KEEP, or RENAME list has never been referenced.&lt;BR /&gt;NOTE: The data set WORK.GRPS has 1 observations and 0 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt; real time 0.01 seconds&lt;BR /&gt; cpu time 0.01 seconds&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;131&lt;BR /&gt;132 proc means data=grps noprint;&lt;BR /&gt;133 output out=maxGrp maxid(grpSize(startDate endDate))=startDate endDate;&lt;BR /&gt;ERROR: Variable GRPSIZE not found.&lt;BR /&gt;ERROR: Variable STARTDATE not found.&lt;BR /&gt;ERROR: Variable ENDDATE not found.&lt;BR /&gt;134 run;&lt;/P&gt;
&lt;P&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;WARNING: The data set WORK.MAXGRP may be incomplete. When this step was stopped there were 0&lt;BR /&gt; observations and 0 variables.&lt;BR /&gt;WARNING: Data set WORK.MAXGRP was not replaced because this step was stopped.&lt;BR /&gt;NOTE: PROCEDURE MEANS used (Total process time):&lt;BR /&gt; real time 0.00 seconds&lt;BR /&gt; cpu time 0.00 seconds&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 May 2018 02:20:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460901#M284708</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2018-05-09T02:20:58Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460911#M284709</link>
      <description>&lt;P&gt;You are not missing by much. Try it this way:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=DFW out=sortedDates(keep=birthDate); by birthdate; run;

data grps;
set sortedDates(rename=birthDate=startDate);
endDate = intnx("month",startDate,42,"same");
do while(birthDate &amp;lt;= endDate and not done);
 set sortedDates end=done;
 last + 1;
 end;
grpSize = last - _n_ + 1;
output;
if done then stop;
keep startDate endDate grpSize;
run;

proc means data=grps noprint;
output out=maxGrp maxid(grpSize(startDate endDate))=startDate endDate;
run;

data want;
if _n_ = 1 then set maxGrp;
set DFW;
if startDate &amp;lt;= birthdate &amp;lt;= endDate;
keep PtMRN birthdate age;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 09 May 2018 04:32:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460911#M284709</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-05-09T04:32:42Z</dc:date>
    </item>
    <item>
      <title>Re: Working with SAS date to create different data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460913#M284710</link>
      <description>&lt;P&gt;Thank you, works well!!!!&lt;/P&gt;</description>
      <pubDate>Wed, 09 May 2018 04:54:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Working-with-SAS-date-to-create-different-data/m-p/460913#M284710</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2018-05-09T04:54:24Z</dc:date>
    </item>
  </channel>
</rss>

