<?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: Exclude Date Periods From Date Range Part II in SAS Data Science</title>
    <link>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98487#M808</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Steve,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A couple of things to consider as well ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Memory is cheap, at least where computers are concerned.&amp;nbsp; Buy more?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The memory requirements can be reduced by breaking up the data into batches.&amp;nbsp; Subsets would be based on ranges of clientid, for example, but make sure the same client IDs appear in both data sets.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 13 Dec 2012 14:40:38 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2012-12-13T14:40:38Z</dc:date>
    <item>
      <title>Exclude Date Periods From Date Range Part II</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98481#M802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Please see this question for context:&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="39375" __jive_macro_name="thread" class="jive_macro jive_macro_thread" href="https://communities.sas.com/"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The answer given works perfectly but the file size is an issue as with large files it blows out considerably. I'm wondering if the approach below might be used which is considerably lighter on resources. I just cant work out how to get the date periods from it. I have a set of dates per clients and I need to exclude periods they have have paid for - and need to output the exact dates. Sample data and code to date are below. Many thanks in advance!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data phone ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile datalines delimiter=',';&lt;/P&gt;&lt;P&gt;&amp;nbsp; input clientid $ sharerid $ phone $ startdt enddt ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat startdt enddt date9. ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format startdt enddt date9. ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;client1,sharer1,555-6532,21Nov2011,10Dec2012&lt;/P&gt;&lt;P&gt;client1,sharer1,444-5655,29Nov2010,14Feb2011&lt;/P&gt;&lt;P&gt;client1,sharer1,333-1234,20May1993,17Aug1993&lt;/P&gt;&lt;P&gt;client1,sharer1,333-1234,08Sep1993,08Sep1993&lt;/P&gt;&lt;P&gt;client2,sharer2,666-6548,10Jul2001,12Nov2001&lt;/P&gt;&lt;P&gt;client2,sharer2,666-6548,10Apr2002,06Aug2002&lt;/P&gt;&lt;P&gt;client2,sharer2,111-5658,02Nov1992,12Aug1993&lt;/P&gt;&lt;P&gt;client2,sharer2,222-6589,10Jan2000,31Jan2000&lt;/P&gt;&lt;P&gt;client2,sharer2,777-8755,31Jan2000,03Feb2000&lt;/P&gt;&lt;P&gt;client2,sharer2,777-8755,25Jun2009,14Sep2009&lt;/P&gt;&lt;P&gt;client2,sharer2,321-6544,18Dec2003,08Apr2004&lt;/P&gt;&lt;P&gt;client2,sharer2,778-6589,07Jun2001,10Jul2001&lt;/P&gt;&lt;P&gt;client2,sharer2,999-9988,31Dec1993,26Mar1994&lt;/P&gt;&lt;P&gt;client2,sharer2,999-9988,28Mar1994,28Mar1994&lt;/P&gt;&lt;P&gt;client2,sharer2,888-7845,12Aug1993,23Aug1993&lt;/P&gt;&lt;P&gt;client2,sharer2,789-9876,10Aug1994,05Sep1994&lt;/P&gt;&lt;P&gt;client2,sharer2,789-9876,22Jun1995,10Jul1995&lt;/P&gt;&lt;P&gt;client2,sharer2,951-6235,08Apr2004,10Aug2004&lt;/P&gt;&lt;P&gt;client2,sharer2,753-1245,25Jan2007,18Jul2007&lt;/P&gt;&lt;P&gt;client2,sharer2,656-8989,12Nov1998,26Feb1999&lt;/P&gt;&lt;P&gt;client2,sharer2,656-8989,10Dec1999,10Jan2000&lt;/P&gt;&lt;P&gt;client2,sharer2,141-1414,23Aug2000,26Mar2001&lt;/P&gt;&lt;P&gt;client2,sharer2,141-1414,07Jun2001,10Jul2001&lt;/P&gt;&lt;P&gt;client2,sharer2,363-3636,19Jun1998,12Nov1998&lt;/P&gt;&lt;P&gt;client2,sharer2,852-8525,18Jun2009,02Jun2010&lt;/P&gt;&lt;P&gt;client2,sharer2,852-8525,20Oct2010,16May2011&lt;/P&gt;&lt;P&gt;client2,sharer2,852-8525,31May2012,10Dec2012&lt;/P&gt;&lt;P&gt;client2,sharer2,565-5656,05Sep1994,01Nov1994&lt;/P&gt;&lt;P&gt;client2,sharer2,565-5656,14Nov1994,14Nov1994&lt;/P&gt;&lt;P&gt;client2,sharer2,221-2212,01jan2012,30jan2012&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data paid_periods;&lt;/P&gt;&lt;P&gt;&amp;nbsp; infile datalines delimiter=',';&lt;/P&gt;&lt;P&gt;&amp;nbsp; input clientid $ sharerid $ paystart payend ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat paystart payend date9. ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format paystart payend date9. ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;client2,sharer2,31Aug1992,23Aug1993&lt;/P&gt;&lt;P&gt;client2,sharer2,25Dec1993,26Mar1994&lt;/P&gt;&lt;P&gt;client2,sharer2,10Aug1994,01Nov1994&lt;/P&gt;&lt;P&gt;client2,sharer2,15Mar1995,20Mar1995&lt;/P&gt;&lt;P&gt;client2,sharer2,19Jun1998,18Feb1999&lt;/P&gt;&lt;P&gt;client2,sharer2,10Dec1999,31Jan2000&lt;/P&gt;&lt;P&gt;client2,sharer2,20Jun2001,12Nov2001&lt;/P&gt;&lt;P&gt;client2,sharer2,10Apr2002,27Jul2002&lt;/P&gt;&lt;P&gt;client2,sharer2,18Dec2003,06Aug2004&lt;/P&gt;&lt;P&gt;client2,sharer2,11Dec2006,17Jul2007&lt;/P&gt;&lt;P&gt;client2,sharer2,18Jun2009,01Jun2010&lt;/P&gt;&lt;P&gt;client2,sharer2,20Oct2010,13May2011&lt;/P&gt;&lt;P&gt;client2,sharer2,14jan2012,21jan2012&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;proc sql;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table ph as&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;select distinct clientid,sharerid,phone&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;from phone&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&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; create table pays as&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;select distinct rs.*,ph.phone&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;from paid_periods rs, ph&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;where rs.clientid=ph.clientid and rs.sharerid=ph.sharerid&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data phprd(keep=phone clientid sharerid phone_flag date)&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set phone ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phone_flag=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date=startdt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phone_flag=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date=enddt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sort data=phprd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by phone clientid sharerid date;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data payprd(keep = phone clientid sharerid pay_flag date)&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set pays;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pay_flag=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date=paystart;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pay_flag=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date=payend;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sort data=payprd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by phone clientid sharerid date;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data timeline ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set payprd phprd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format date ddmmyy10. clientid sharerid 12.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by phone clientid sharerid date;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;Steve&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Dec 2012 23:44:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98481#M802</guid>
      <dc:creator>SteveNZ</dc:creator>
      <dc:date>2012-12-12T23:44:24Z</dc:date>
    </item>
    <item>
      <title>Re: Exclude Date Periods From Date Range Part II</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98482#M803</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How many records do you have in each of the two files?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Dec 2012 23:48:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98482#M803</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-12-12T23:48:37Z</dc:date>
    </item>
    <item>
      <title>Re: Exclude Date Periods From Date Range Part II</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98483#M804</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It varies but can be over 4000 plus the periods can go right back to the 1990's which causing huge file bloat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Dec 2012 00:34:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98483#M804</guid>
      <dc:creator>SteveNZ</dc:creator>
      <dc:date>2012-12-13T00:34:04Z</dc:date>
    </item>
    <item>
      <title>Re: Exclude Date Periods From Date Range Part II</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98484#M805</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does my original jackhammer approach blow out your system's memory as well?&amp;nbsp; It shouldn't as, if it will work for one record, it should work for any number of records as well.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Dec 2012 01:08:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98484#M805</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-12-13T01:08:22Z</dc:date>
    </item>
    <item>
      <title>Re: Exclude Date Periods From Date Range Part II</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98485#M806</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hiya, never thought of that and yes you're quite correct. Used the Jack Hammer approach on my live data and it worked a charm. Thank you very much again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;Steve&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Dec 2012 02:21:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98485#M806</guid>
      <dc:creator>SteveNZ</dc:creator>
      <dc:date>2012-12-13T02:21:29Z</dc:date>
    </item>
    <item>
      <title>Re: Exclude Date Periods From Date Range Part II</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98486#M807</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That must be why they invented JackHammers!&amp;nbsp; Not applicable for all tasks but, sometimes, definitely the right tool for the job.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Dec 2012 03:36:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98486#M807</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-12-13T03:36:39Z</dc:date>
    </item>
    <item>
      <title>Re: Exclude Date Periods From Date Range Part II</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98487#M808</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Steve,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A couple of things to consider as well ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Memory is cheap, at least where computers are concerned.&amp;nbsp; Buy more?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The memory requirements can be reduced by breaking up the data into batches.&amp;nbsp; Subsets would be based on ranges of clientid, for example, but make sure the same client IDs appear in both data sets.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Dec 2012 14:40:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Exclude-Date-Periods-From-Date-Range-Part-II/m-p/98487#M808</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-12-13T14:40:38Z</dc:date>
    </item>
  </channel>
</rss>

