<?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: Merge data by date in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433720#M281847</link>
    <description>&lt;P&gt;Sorry for being late to the tread but, unless I missed something, I don't think you have gotten suggested code that meets your specs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I correctly understand what you want, wouldn't something like the following suffice?:&lt;/P&gt;
&lt;PRE&gt;proc sql noprint;
  select min(date) into :mindate
    from file1
  ;
quit;

data want;
  set file1 file2 (where=(&amp;amp;mindate. &amp;lt;= date &amp;lt;= (&amp;amp;mindate.+30))); 
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 02 Feb 2018 23:33:41 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2018-02-02T23:33:41Z</dc:date>
    <item>
      <title>Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433191#M281839</link>
      <description>&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Hi,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;I am a relatively new user of SAS. &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;I need to merge two MS excel files by date.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;However, from the second file (file 2), I need to merge only observations that are within 30 days of each date listed in the first excel file (file 1).&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Pls do provide some insight on the SAS code I can use for this. My code merges all data in both files.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
%LET AllData=
File1
File2
;
%_import(&amp;amp;AllData);


data TR;
set 
File1
File2
;




&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;&lt;/FONT&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Ari.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2018 17:26:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433191#M281839</guid>
      <dc:creator>arii</dc:creator>
      <dc:date>2018-02-01T17:26:39Z</dc:date>
    </item>
    <item>
      <title>Re: Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433203#M281840</link>
      <description>&lt;P&gt;Can you provide some sample data that we can work with? Without knowing your data structure we'd be making wild guesses.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If your data is confidential make fake data that reflects your data.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2018 17:54:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433203#M281840</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-02-01T17:54:43Z</dc:date>
    </item>
    <item>
      <title>Re: Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433206#M281841</link>
      <description>&lt;P&gt;1) show the code you used that doesn't do what you want so we don't recommend that.&lt;/P&gt;
&lt;P&gt;2) provide some example data from each set NOT as spread sheets but as SAS data step code: Instructions here: &lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt; will show how to turn an existing SAS data set into data step code that can be pasted into a forum code box using the {i} icon or attached as text to show exactly what you have and that we can test code against.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3) Show what the results should be for your given example data (just enough records to show the different cases.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Details are needed because we can't tell if only want one record from file 2 matched to one record from file 1 or potentially multiples of each.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2018 18:08:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433206#M281841</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-02-01T18:08:57Z</dc:date>
    </item>
    <item>
      <title>Re: Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433220#M281842</link>
      <description>&lt;P&gt;Sure, Reeza.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;File 1:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Date&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;qq&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;rr&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;vv&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/1/1990&lt;/TD&gt;&lt;TD&gt;366.12&lt;/TD&gt;&lt;TD&gt;366.12&lt;/TD&gt;&lt;TD&gt;0.011158&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/3/1990&lt;/TD&gt;&lt;TD&gt;353.94&lt;/TD&gt;&lt;TD&gt;353.94&lt;/TD&gt;&lt;TD&gt;0.018884&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/6/1990&lt;/TD&gt;&lt;TD&gt;359.53&lt;/TD&gt;&lt;TD&gt;359.53&lt;/TD&gt;&lt;TD&gt;0.012618&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/7/1990&lt;/TD&gt;&lt;TD&gt;354.88&lt;/TD&gt;&lt;TD&gt;354.88&lt;/TD&gt;&lt;TD&gt;0.014233&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/9/1990&lt;/TD&gt;&lt;TD&gt;365.24&lt;/TD&gt;&lt;TD&gt;365.24&lt;/TD&gt;&lt;TD&gt;0.012643&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/14/1990&lt;/TD&gt;&lt;TD&gt;369.79&lt;/TD&gt;&lt;TD&gt;369.79&lt;/TD&gt;&lt;TD&gt;0.011378&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;File 2:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;aa&lt;/TD&gt;&lt;TD&gt;bb&lt;/TD&gt;&lt;TD&gt;ff&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/5/1990&lt;/TD&gt;&lt;TD&gt;20.11&lt;/TD&gt;&lt;TD&gt;20.11&lt;/TD&gt;&lt;TD&gt;0.04426&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/8/1990&lt;/TD&gt;&lt;TD&gt;20.26&lt;/TD&gt;&lt;TD&gt;20.26&lt;/TD&gt;&lt;TD&gt;0.0074&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/9/1990&lt;/TD&gt;&lt;TD&gt;22.2&lt;/TD&gt;&lt;TD&gt;22.2&lt;/TD&gt;&lt;TD&gt;0.08739&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/10/1990&lt;/TD&gt;&lt;TD&gt;22.44&lt;/TD&gt;&lt;TD&gt;22.44&lt;/TD&gt;&lt;TD&gt;0.0107&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/11/1990&lt;/TD&gt;&lt;TD&gt;20.05&lt;/TD&gt;&lt;TD&gt;20.05&lt;/TD&gt;&lt;TD&gt;-0.1192&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/16/1990&lt;/TD&gt;&lt;TD&gt;24.18&lt;/TD&gt;&lt;TD&gt;24.18&lt;/TD&gt;&lt;TD&gt;-0.0893&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/17/1990&lt;/TD&gt;&lt;TD&gt;24.16&lt;/TD&gt;&lt;TD&gt;24.16&lt;/TD&gt;&lt;TD&gt;-0.0008&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/18/1990&lt;/TD&gt;&lt;TD&gt;24.34&lt;/TD&gt;&lt;TD&gt;24.34&lt;/TD&gt;&lt;TD&gt;0.0074&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/19/1990&lt;/TD&gt;&lt;TD&gt;22.5&lt;/TD&gt;&lt;TD&gt;22.5&lt;/TD&gt;&lt;TD&gt;-0.0818&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/1990&lt;/TD&gt;&lt;TD&gt;26.7&lt;/TD&gt;&lt;TD&gt;26.7&lt;/TD&gt;&lt;TD&gt;0.1573&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/20/1990&lt;/TD&gt;&lt;TD&gt;27.25&lt;/TD&gt;&lt;TD&gt;27.25&lt;/TD&gt;&lt;TD&gt;0.02972&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2/11/1990&lt;/TD&gt;&lt;TD&gt;25.36&lt;/TD&gt;&lt;TD&gt;25.36&lt;/TD&gt;&lt;TD&gt;-0.0745&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2/17/1990&lt;/TD&gt;&lt;TD&gt;24.87&lt;/TD&gt;&lt;TD&gt;24.87&lt;/TD&gt;&lt;TD&gt;-0.0197&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2/22/1990&lt;/TD&gt;&lt;TD&gt;24.32&lt;/TD&gt;&lt;TD&gt;24.32&lt;/TD&gt;&lt;TD&gt;-0.0226&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2/25/1990&lt;/TD&gt;&lt;TD&gt;24.54&lt;/TD&gt;&lt;TD&gt;24.54&lt;/TD&gt;&lt;TD&gt;0.00897&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2/26/1990&lt;/TD&gt;&lt;TD&gt;24.69&lt;/TD&gt;&lt;TD&gt;24.69&lt;/TD&gt;&lt;TD&gt;0.00608&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3/27/1990&lt;/TD&gt;&lt;TD&gt;24.29&lt;/TD&gt;&lt;TD&gt;24.29&lt;/TD&gt;&lt;TD&gt;-0.0165&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to merge only observations from 'file 2'&amp;nbsp;that are within 30 days of each date listed in 'File 1'.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The merged file should look like:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Date&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;qq&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;rr&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;vv&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;aa&lt;/TD&gt;&lt;TD&gt;bb&lt;/TD&gt;&lt;TD&gt;ff&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/1/1990&lt;/TD&gt;&lt;TD&gt;366.12&lt;/TD&gt;&lt;TD&gt;366.12&lt;/TD&gt;&lt;TD&gt;0.011158&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/3/1990&lt;/TD&gt;&lt;TD&gt;353.94&lt;/TD&gt;&lt;TD&gt;353.94&lt;/TD&gt;&lt;TD&gt;0.018884&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/5/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;20.110001&lt;/TD&gt;&lt;TD&gt;20.110001&lt;/TD&gt;&lt;TD&gt;0.04425669&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/6/1990&lt;/TD&gt;&lt;TD&gt;359.53&lt;/TD&gt;&lt;TD&gt;359.53&lt;/TD&gt;&lt;TD&gt;0.012618&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/7/1990&lt;/TD&gt;&lt;TD&gt;354.88&lt;/TD&gt;&lt;TD&gt;354.88&lt;/TD&gt;&lt;TD&gt;0.014233&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/8/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;20.26&lt;/TD&gt;&lt;TD&gt;20.26&lt;/TD&gt;&lt;TD&gt;0.0074037&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/9/1990&lt;/TD&gt;&lt;TD&gt;365.24&lt;/TD&gt;&lt;TD&gt;365.24&lt;/TD&gt;&lt;TD&gt;0.012643&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/9/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;22.200001&lt;/TD&gt;&lt;TD&gt;22.200001&lt;/TD&gt;&lt;TD&gt;0.08738743&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/10/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;22.440001&lt;/TD&gt;&lt;TD&gt;22.440001&lt;/TD&gt;&lt;TD&gt;0.01069519&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/11/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;20.049999&lt;/TD&gt;&lt;TD&gt;20.049999&lt;/TD&gt;&lt;TD&gt;-0.1192021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/16/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;369.79&lt;/TD&gt;&lt;TD&gt;369.79&lt;/TD&gt;&lt;TD&gt;0.011378&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/17/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;24.16&lt;/TD&gt;&lt;TD&gt;24.16&lt;/TD&gt;&lt;TD&gt;-0.0008278&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/18/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;24.34&lt;/TD&gt;&lt;TD&gt;24.34&lt;/TD&gt;&lt;TD&gt;0.00739523&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/19/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;22.5&lt;/TD&gt;&lt;TD&gt;22.5&lt;/TD&gt;&lt;TD&gt;-0.0817778&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;26.700001&lt;/TD&gt;&lt;TD&gt;26.700001&lt;/TD&gt;&lt;TD&gt;0.1573034&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/20/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;27.25&lt;/TD&gt;&lt;TD&gt;27.25&lt;/TD&gt;&lt;TD&gt;0.02972473&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2/11/1990&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;25.360001&lt;/TD&gt;&lt;TD&gt;25.360001&lt;/TD&gt;&lt;TD&gt;-0.0745268&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 01 Feb 2018 18:41:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433220#M281842</guid>
      <dc:creator>arii</dc:creator>
      <dc:date>2018-02-01T18:41:46Z</dc:date>
    </item>
    <item>
      <title>Re: Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433232#M281843</link>
      <description>&lt;P&gt;You may try next code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data all_files;
&amp;nbsp; &amp;nbsp; set file1 file2 indsname=_file_in;
&amp;nbsp; &amp;nbsp; input_file = _file_in;
run;

proc sort data=all_files; by date input_file; run;

data want;
      retain lag_file lag_date phase;
      lag_file = lag(input_file);
      if lag_file = 'FILE1' then do;
         pase = 1; 
         lag_date = date;
     end;
     else phase =2;

      if phase=1 or &lt;BR /&gt;        _N_ &amp;gt; 1 and phase = 2 and date - lag_date le 30;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2018 20:13:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433232#M281843</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2018-02-01T20:13:23Z</dc:date>
    </item>
    <item>
      <title>Re: Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433366#M281844</link>
      <description>&lt;P&gt;Thank you, Shumel.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Unfortunately, this code did not read all my data properly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I used this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;proc sql noprint;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;create table file3 as&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;select * from file1 as a, file2 as b&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;where a.date1-30 &amp;lt;= b.date2 &amp;lt;= a.date1+30;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;quit;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 02 Feb 2018 03:35:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433366#M281844</guid>
      <dc:creator>arii</dc:creator>
      <dc:date>2018-02-02T03:35:20Z</dc:date>
    </item>
    <item>
      <title>Re: Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433393#M281845</link>
      <description>&lt;P&gt;1) According to input you posted, the date variable is named&amp;nbsp;&lt;STRONG&gt;date.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; Where from did you get&amp;nbsp;&lt;STRONG&gt;date1&amp;nbsp; &amp;nbsp;date2&amp;nbsp;&lt;/STRONG&gt; in your code ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;proc sql noprint;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;create table file3 as&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;select * from file1 as a, file2 as b&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;where a.&lt;STRONG&gt;date1&lt;/STRONG&gt;-30 &amp;lt;= b.&lt;STRONG&gt;date2&lt;/STRONG&gt; &amp;lt;= a.date1+30;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;quit;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;2)&amp;nbsp; File1 contains 6 obs. File2 contains 17 rows.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;At most&amp;nbsp;expected output is 23 rows.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Running your code, changing &lt;STRONG&gt;date1&lt;/STRONG&gt; and &lt;STRONG&gt;date2&lt;/STRONG&gt; into &lt;STRONG&gt;date&lt;/STRONG&gt; results into 67 rows.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;That's because sql creates cartesian merge and there are more than one matches per File2 row.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;So it creates duplicates.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;3) I have fixed my code. The result contains 17 rows - all rows from File1 and the matching rows from File2:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data file1;
 infile cards dlm='09'x truncover;
 input date mmddyy10. qq rr vv ;
 format date yymmdd10.;
cards;
01/01/1990	366.12	366.12	0.011158
01/03/1990	353.94	353.94	0.018884
01/06/1990	359.53	359.53	0.012618
01/07/1990	354.88	354.88	0.014233
01/09/1990	365.24	365.24	0.012643
01/14/1990	369.79	369.79	0.011378
; run;

data file2;
 infile cards dlm='09'x truncover;
 input date mmddyy10. aa bb ff;
 
cards;
01/05/1990	20.11	20.11	0.04426
01/08/1990	20.26	20.26	0.0074
01/09/1990	22.2	22.2	0.08739
01/10/1990	22.44	22.44	0.0107
01/11/1990	20.05	20.05	-0.1192
01/16/1990	24.18	24.18	-0.0893
01/17/1990	24.16	24.16	-0.0008
01/18/1990	24.34	24.34	0.0074
01/19/1990	22.5	22.5	-0.0818
01/22/1990	26.7	26.7	0.1573
01/20/1990	27.25	27.25	0.02972
02/11/1990	25.36	25.36	-0.0745
02/17/1990	24.87	24.87	-0.0197
02/22/1990	24.32	24.32	-0.0226
02/25/1990	24.54	24.54	0.00897
02/26/1990	24.69	24.69	0.00608
03/27/1990	24.29	24.29	-0.0165
; run;
&lt;BR /&gt;/**** YOUR CODE *****
proc sql noprint;
create table file3 as
select * from file1 as a, file2 as b
where a.date-30 &amp;lt;= b.date &amp;lt;= a.date+30;
quit;&lt;BR /&gt;******************/

data all_files;
    set file1 file2 indsname=_file_in;
    input_file = _file_in;
run;

proc sort data=all_files; by date input_file; run;

data want;
 set all_files;
      retain lag_file lag_date phase;
      lag_file = lag(input_file);
      if lag_file = 'WORK.FILE1' then do;     /* this line was fixed */
         pase = 1; 
         lag_date = date;
     end;
     else phase =2;

      if phase=1 or         _N_ &amp;gt; 1 and phase = 2 and date - lag_date le 30;
run;
 &lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face="SAS Monospace" size="3" color="black"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 02 Feb 2018 06:06:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433393#M281845</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2018-02-02T06:06:44Z</dc:date>
    </item>
    <item>
      <title>Re: Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433709#M281846</link>
      <description>Looks good, Shmuel. Thank you.</description>
      <pubDate>Fri, 02 Feb 2018 21:57:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433709#M281846</guid>
      <dc:creator>arii</dc:creator>
      <dc:date>2018-02-02T21:57:56Z</dc:date>
    </item>
    <item>
      <title>Re: Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433720#M281847</link>
      <description>&lt;P&gt;Sorry for being late to the tread but, unless I missed something, I don't think you have gotten suggested code that meets your specs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I correctly understand what you want, wouldn't something like the following suffice?:&lt;/P&gt;
&lt;PRE&gt;proc sql noprint;
  select min(date) into :mindate
    from file1
  ;
quit;

data want;
  set file1 file2 (where=(&amp;amp;mindate. &amp;lt;= date &amp;lt;= (&amp;amp;mindate.+30))); 
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Feb 2018 23:33:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/433720#M281847</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2018-02-02T23:33:41Z</dc:date>
    </item>
    <item>
      <title>Re: Merge data by date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/434160#M281848</link>
      <description>&lt;P&gt;Why does file1 have&amp;nbsp; a date=01/14/1990, but the wanted file does not?&lt;/P&gt;</description>
      <pubDate>Mon, 05 Feb 2018 13:43:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-data-by-date/m-p/434160#M281848</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-02-05T13:43:32Z</dc:date>
    </item>
  </channel>
</rss>

