Hi y'all, I wanted to see if there was a way to join on the closest dates depending on a time range. I have two tables that I'm trying to do a left join on.
For example, if on the left table date it says: 10/18/2022 17:22, and I designate the time range to be plus or minus two hours, I would like to do a join on dates like 10/18/2022 18:34, 10/18/2022 16:78, but not 10/18/2022 15:00 or 10/18/2022 20:22 since that is outside the two hour window.
The left table has this data:
DATETIME_D | Value1 |
10/18/2022 17:22 | 0.01 |
10/18/2022 20:41 | 0.0209 |
10/19/2022 0:36 | 0.0082 |
10/19/2022 2:32 | 0.0436 |
10/19/2022 4:37 | 0.0128 |
10/19/2022 6:33 | 0.0102 |
10/19/2022 7:00 | 0.0102 |
10/19/2022 10:00 | 0.0066 |
10/19/2022 10:04 | 0.0087 |
10/19/2022 22:00 | 0.0195 |
10/20/2022 2:00 | 0.0214 |
10/20/2022 6:27 | 0.0103 |
10/20/2022 10:00 | 0.0032 |
10/20/2022 14:00 | 0.0071 |
10/20/2022 21:07 | 0.0098 |
10/21/2022 10:00 | 0.0087 |
10/21/2022 14:00 | 0.004 |
10/21/2022 19:00 | 0.0052 |
10/21/2022 22:00 | 0.0034 |
10/22/2022 2:00 | 0.0031 |
10/22/2022 6:51 | 0.0032 |
10/22/2022 14:00 | 0.0036 |
10/22/2022 19:00 | 0.0039 |
10/22/2022 22:00 | 0.0052 |
10/23/2022 2:00 | 0.0081 |
10/23/2022 7:15 | 0.0036 |
10/23/2022 10:00 | 0.0042 |
10/23/2022 14:00 | 0.0045 |
10/23/2022 19:00 | 0.0078 |
10/23/2022 22:00 | 0.0096 |
10/24/2022 2:00 | 0.0088 |
10/24/2022 7:09 | 0.0054 |
10/24/2022 10:00 | 0.0036 |
10/24/2022 14:00 | 0.005 |
10/24/2022 19:00 | 0.0066 |
10/24/2022 22:00 | 0.0167 |
10/25/2022 2:00 | 0.0138 |
10/25/2022 7:00 | 0.0233 |
10/25/2022 12:39 | 0.0144 |
10/25/2022 18:06 | 0.0129 |
10/25/2022 21:08 | 0.0192 |
10/25/2022 22:00 | 0.007 |
10/26/2022 2:00 | 0.0086 |
10/26/2022 7:00 | 0.016 |
10/26/2022 10:00 | 0.0219 |
10/26/2022 13:05 | 0.0149 |
10/26/2022 14:22 | 0.0132 |
10/26/2022 17:40 | 0.0071 |
10/26/2022 21:02 | 0.0072 |
10/26/2022 22:00 | 0.0053 |
10/27/2022 0:55 | 0.0081 |
10/27/2022 2:00 | 0.0079 |
10/27/2022 5:23 | 0.0085 |
10/27/2022 7:00 | 0.0078 |
10/27/2022 11:02 | 0.0136 |
10/27/2022 14:06 | 0.0175 |
10/27/2022 21:21 | 0.0048 |
10/27/2022 22:00 | 0.0044 |
10/28/2022 2:00 | 0.0056 |
10/28/2022 7:00 | 0.0223 |
10/28/2022 13:18 | 0.0242 |
10/28/2022 16:11 | 0.0149 |
10/28/2022 19:16 | 0.0072 |
10/28/2022 21:08 | 0.0039 |
10/28/2022 22:00 | 0.007 |
10/29/2022 2:00 | 0.0051 |
10/29/2022 5:32 | 0.0047 |
10/29/2022 7:00 | 0.0039 |
10/29/2022 10:00 | 0.0053 |
10/29/2022 14:00 | 0.0037 |
10/29/2022 19:17 | 0.0039 |
10/30/2022 0:16 | 0.0036 |
10/30/2022 3:20 | 0.0033 |
10/30/2022 7:12 | 0.005 |
10/30/2022 10:00 | 0.0061 |
10/30/2022 19:00 | 0.0047 |
10/31/2022 0:12 | 0.0059 |
10/31/2022 2:00 | 0.0044 |
10/31/2022 7:00 | 0.0111 |
10/31/2022 10:00 | 0.0079 |
10/31/2022 14:00 | 0.0044 |
10/31/2022 19:00 | 0.0077 |
11/1/2022 2:00 | 0.0071 |
11/1/2022 7:00 | 0.0087 |
11/1/2022 10:00 | 0.0066 |
11/1/2022 19:00 | 0.0069 |
11/1/2022 22:00 | 0.0039 |
11/2/2022 2:00 | 0.0036 |
11/2/2022 7:00 | 0.003 |
11/2/2022 10:00 | 0.0033 |
11/2/2022 14:00 | 0.0036 |
11/2/2022 19:00 | 0.0065 |
The right table has this data:
DATETIME_D | Value2 |
10/18/2022 | 1.395404 |
10/18/2022 1:00 | 1.341625 |
10/18/2022 2:00 | 1.344473 |
10/18/2022 3:00 | 1.346781 |
10/18/2022 4:00 | 1.365318 |
10/18/2022 5:00 | 1.39561 |
10/18/2022 6:00 | 1.372869 |
10/18/2022 7:00 | 1.377094 |
10/18/2022 8:00 | 1.37 |
10/18/2022 9:00 | 1.321752 |
10/18/2022 10:00 | 1.376819 |
10/18/2022 11:00 | 1.333657 |
10/18/2022 12:00 | 1.382049 |
10/18/2022 13:00 | 1.349539 |
10/18/2022 14:00 | 1.348969 |
10/18/2022 15:00 | 1.327738 |
10/18/2022 16:00 | 1.363173 |
10/18/2022 17:00 | 1.334663 |
10/18/2022 18:00 | 1.332605 |
10/18/2022 19:00 | 1.353705 |
10/18/2022 20:00 | 1.361134 |
10/18/2022 21:00 | 1.321409 |
10/18/2022 22:00 | 1.311182 |
10/18/2022 23:00 | 1.361635 |
10/19/2022 | 1.366122 |
10/19/2022 1:00 | 1.373013 |
10/19/2022 2:00 | 1.376642 |
10/19/2022 3:00 | 1.368318 |
10/19/2022 4:00 | 1.332407 |
10/19/2022 7:00 | 1.352109 |
10/19/2022 8:00 | 1.34821 |
10/19/2022 9:00 | 1.338577 |
10/19/2022 10:00 | 1.346689 |
10/19/2022 11:00 | 1.346549 |
10/19/2022 12:00 | 1.342578 |
10/19/2022 13:00 | 1.338841 |
10/19/2022 14:00 | 1.322274 |
10/19/2022 19:00 | 1.339541 |
10/19/2022 20:00 | 1.381238 |
10/19/2022 21:00 | 1.35 |
10/19/2022 22:00 | 1.410129 |
10/19/2022 23:00 | 1.414533 |
10/20/2022 | 1.395495 |
10/20/2022 1:00 | 1.399686 |
10/20/2022 2:00 | 1.364944 |
10/20/2022 3:00 | 1.392877 |
10/20/2022 4:00 | 1.395438 |
10/20/2022 5:00 | 1.368605 |
10/20/2022 6:00 | 1.353466 |
10/20/2022 7:00 | 1.383887 |
10/20/2022 8:00 | 1.339471 |
10/20/2022 9:00 | 1.355384 |
10/20/2022 10:00 | 1.363854 |
10/20/2022 11:00 | 1.380729 |
10/20/2022 12:00 | 1.35 |
10/20/2022 13:00 | 1.400777 |
10/20/2022 14:00 | 1.383933 |
10/20/2022 20:00 | 1.348725 |
10/21/2022 11:00 | 1.346787 |
10/21/2022 12:00 | 1.364542 |
10/21/2022 13:00 | 1.320274 |
10/21/2022 14:00 | 1.3683 |
10/21/2022 15:00 | 1.366844 |
10/21/2022 16:00 | 1.357123 |
10/21/2022 17:00 | 1.386553 |
10/21/2022 18:00 | 1.367088 |
10/21/2022 19:00 | 1.375917 |
10/21/2022 20:00 | 1.350211 |
10/21/2022 21:00 | 1.34423 |
10/21/2022 22:00 | 1.365189 |
10/21/2022 23:00 | 1.3717 |
10/22/2022 | 1.378832 |
10/22/2022 1:00 | 1.373118 |
10/22/2022 2:00 | 1.37471 |
10/22/2022 3:00 | 1.355493 |
10/22/2022 4:00 | 1.376063 |
10/22/2022 5:00 | 1.341278 |
10/22/2022 6:00 | 1.375479 |
10/22/2022 9:00 | 1.351914 |
10/22/2022 10:00 | 1.376477 |
10/22/2022 11:00 | 1.35999 |
10/22/2022 15:00 | 1.373631 |
10/22/2022 16:00 | 1.373043 |
10/22/2022 17:00 | 1.37054 |
10/22/2022 18:00 | 1.37 |
10/22/2022 19:00 | 1.382522 |
10/22/2022 20:00 | 1.365001 |
10/22/2022 21:00 | 1.388127 |
10/22/2022 22:00 | 1.397196 |
10/22/2022 23:00 | 1.372355 |
10/23/2022 2:00 | 1.360641 |
10/23/2022 3:00 | 1.403056 |
10/23/2022 4:00 | 1.376794 |
10/23/2022 5:00 | 1.364964 |
10/23/2022 6:00 | 1.354271 |
10/23/2022 9:00 | 1.369667 |
10/23/2022 10:00 | 1.35345 |
10/23/2022 11:00 | 1.36569 |
10/23/2022 12:00 | 1.358531 |
10/23/2022 16:00 | 1.359126 |
10/23/2022 17:00 | 1.355856 |
10/23/2022 18:00 | 1.369244 |
10/23/2022 19:00 | 1.373642 |
10/24/2022 1:00 | 1.383989 |
10/24/2022 2:00 | 1.35881 |
10/24/2022 3:00 | 1.384344 |
10/24/2022 4:00 | 1.395371 |
10/24/2022 5:00 | 1.34589 |
10/24/2022 6:00 | 1.319017 |
10/24/2022 7:00 | 1.358339 |
10/24/2022 8:00 | 1.350065 |
10/24/2022 9:00 | 1.327486 |
10/24/2022 10:00 | 1.31 |
10/24/2022 11:00 | 1.34377 |
10/24/2022 12:00 | 1.341067 |
10/24/2022 13:00 | 1.315519 |
10/24/2022 14:00 | 1.380168 |
10/24/2022 15:00 | 1.396665 |
10/24/2022 16:00 | 1.398192 |
10/24/2022 17:00 | 1.37 |
10/24/2022 18:00 | 1.385058 |
10/24/2022 19:00 | 1.366556 |
10/24/2022 22:00 | 1.38804 |
10/24/2022 23:00 | 1.33261 |
10/25/2022 | 1.364816 |
10/25/2022 1:00 | 1.376929 |
10/25/2022 2:00 | 1.350296 |
10/25/2022 3:00 | 1.357138 |
10/25/2022 4:00 | 1.304488 |
10/25/2022 5:00 | 1.297992 |
10/25/2022 6:00 | 1.342688 |
10/25/2022 7:00 | 1.341821 |
10/25/2022 8:00 | 1.33 |
10/25/2022 9:00 | 1.33 |
10/25/2022 12:00 | 1.338557 |
10/25/2022 13:00 | 1.381665 |
10/25/2022 14:00 | 1.39 |
10/25/2022 16:00 | 1.39 |
10/25/2022 17:00 | 1.355378 |
10/25/2022 18:00 | 1.353918 |
10/25/2022 19:00 | 1.334651 |
10/25/2022 20:00 | 1.333661 |
10/25/2022 21:00 | 1.321815 |
10/25/2022 22:00 | 1.327224 |
10/25/2022 23:00 | 1.356137 |
10/26/2022 | 1.377364 |
10/26/2022 1:00 | 1.336762 |
10/26/2022 2:00 | 1.352456 |
10/26/2022 3:00 | 1.316025 |
10/26/2022 4:00 | 1.329637 |
10/26/2022 5:00 | 1.308338 |
10/26/2022 6:00 | 1.331263 |
10/26/2022 7:00 | 1.366988 |
10/26/2022 8:00 | 1.3629 |
10/26/2022 9:00 | 1.364238 |
10/26/2022 10:00 | 1.360918 |
10/26/2022 11:00 | 1.347886 |
10/26/2022 12:00 | 1.37055 |
10/26/2022 13:00 | 1.37479 |
10/26/2022 14:00 | 1.383907 |
10/26/2022 15:00 | 1.364449 |
10/26/2022 16:00 | 1.368529 |
10/26/2022 17:00 | 1.363876 |
10/26/2022 18:00 | 1.37528 |
10/26/2022 20:00 | 1.39 |
10/26/2022 21:00 | 1.374917 |
10/26/2022 22:00 | 1.36686 |
10/26/2022 23:00 | 1.360201 |
10/27/2022 | 1.37201 |
10/27/2022 1:00 | 1.35766 |
10/27/2022 2:00 | 1.370382 |
10/27/2022 3:00 | 1.365638 |
10/27/2022 4:00 | 1.367243 |
10/27/2022 5:00 | 1.39 |
10/27/2022 6:00 | 1.364981 |
10/27/2022 7:00 | 1.364852 |
10/27/2022 8:00 | 1.363774 |
10/27/2022 9:00 | 1.368798 |
10/27/2022 10:00 | 1.380932 |
10/27/2022 11:00 | 1.385653 |
10/27/2022 12:00 | 1.367088 |
10/27/2022 13:00 | 1.360153 |
10/27/2022 14:00 | 1.408554 |
10/27/2022 15:00 | 1.363381 |
10/27/2022 16:00 | 1.4 |
10/27/2022 17:00 | 1.349703 |
10/27/2022 18:00 | 1.352989 |
10/27/2022 19:00 | 1.349017 |
10/27/2022 20:00 | 1.395874 |
10/27/2022 21:00 | 1.377004 |
10/27/2022 22:00 | 1.382905 |
10/27/2022 23:00 | 1.372492 |
10/28/2022 | 1.383332 |
10/28/2022 1:00 | 1.356437 |
10/28/2022 2:00 | 1.374788 |
10/28/2022 3:00 | 1.379554 |
10/28/2022 4:00 | 1.373609 |
10/28/2022 9:00 | 1.354692 |
10/28/2022 13:00 | 1.352599 |
10/28/2022 14:00 | 1.35 |
10/28/2022 15:00 | 1.39879 |
10/28/2022 16:00 | 1.342637 |
10/28/2022 17:00 | 1.34565 |
10/28/2022 18:00 | 1.380782 |
10/28/2022 19:00 | 1.383649 |
10/28/2022 20:00 | 1.382828 |
10/28/2022 21:00 | 1.350602 |
10/28/2022 22:00 | 1.379991 |
10/28/2022 23:00 | 1.404889 |
10/29/2022 | 1.39 |
10/29/2022 1:00 | 1.355038 |
10/29/2022 2:00 | 1.398991 |
10/29/2022 3:00 | 1.381034 |
10/29/2022 4:00 | 1.3483 |
10/29/2022 5:00 | 1.371839 |
10/29/2022 6:00 | 1.316535 |
10/29/2022 7:00 | 1.32293 |
10/29/2022 8:00 | 1.384449 |
10/29/2022 9:00 | 1.385804 |
10/29/2022 10:00 | 1.378237 |
10/29/2022 11:00 | 1.373455 |
10/29/2022 12:00 | 1.348323 |
10/29/2022 13:00 | 1.339352 |
10/29/2022 14:00 | 1.365962 |
10/29/2022 16:00 | 1.380404 |
10/29/2022 17:00 | 1.335299 |
10/29/2022 18:00 | 1.369844 |
10/29/2022 19:00 | 1.361836 |
10/29/2022 20:00 | 1.348104 |
10/29/2022 21:00 | 1.341607 |
10/29/2022 22:00 | 1.336928 |
10/29/2022 23:00 | 1.362411 |
10/30/2022 | 1.365443 |
10/30/2022 1:00 | 1.339254 |
10/30/2022 2:00 | 1.328197 |
10/30/2022 3:00 | 1.300668 |
10/30/2022 4:00 | 1.376739 |
10/30/2022 7:00 | 1.365497 |
10/30/2022 8:00 | 1.36 |
10/30/2022 9:00 | 1.351594 |
10/30/2022 10:00 | 1.383343 |
10/30/2022 11:00 | 1.350621 |
10/30/2022 12:00 | 1.367404 |
10/30/2022 13:00 | 1.33865 |
10/30/2022 14:00 | 1.366388 |
10/30/2022 15:00 | 1.348838 |
10/30/2022 16:00 | 1.365563 |
10/30/2022 17:00 | 1.331794 |
10/30/2022 18:00 | 1.325087 |
10/30/2022 19:00 | 1.358729 |
10/30/2022 20:00 | 1.348796 |
10/30/2022 21:00 | 1.353439 |
10/30/2022 22:00 | 1.334892 |
10/30/2022 23:00 | 1.325557 |
10/31/2022 | 1.312197 |
10/31/2022 1:00 | 1.322009 |
10/31/2022 2:00 | 1.316753 |
10/31/2022 3:00 | 1.323835 |
10/31/2022 4:00 | 1.348922 |
10/31/2022 5:00 | 1.36551 |
10/31/2022 6:00 | 1.306738 |
10/31/2022 7:00 | 1.332914 |
10/31/2022 8:00 | 1.315796 |
10/31/2022 9:00 | 1.358511 |
10/31/2022 10:00 | 1.344554 |
10/31/2022 11:00 | 1.3 |
10/31/2022 12:00 | 1.355132 |
10/31/2022 13:00 | 1.353319 |
10/31/2022 14:00 | 1.305075 |
10/31/2022 15:00 | 1.323809 |
10/31/2022 18:00 | 1.377634 |
10/31/2022 19:00 | 1.36873 |
10/31/2022 20:00 | 1.387145 |
10/31/2022 21:00 | 1.37164 |
11/1/2022 1:00 | 1.345585 |
11/1/2022 2:00 | 1.353237 |
11/1/2022 3:00 | 1.383596 |
11/1/2022 4:00 | 1.350733 |
11/1/2022 5:00 | 1.337422 |
11/1/2022 6:00 | 1.334222 |
11/1/2022 7:00 | 1.367011 |
11/1/2022 8:00 | 1.35895 |
11/1/2022 9:00 | 1.368209 |
11/1/2022 10:00 | 1.359287 |
11/1/2022 11:00 | 1.348467 |
11/1/2022 12:00 | 1.368885 |
11/1/2022 13:00 | 1.385087 |
11/1/2022 18:00 | 1.373843 |
11/1/2022 19:00 | 1.383234 |
11/1/2022 20:00 | 1.345533 |
11/1/2022 21:00 | 1.352218 |
11/1/2022 22:00 | 1.317682 |
11/1/2022 23:00 | 1.353458 |
11/2/2022 | 1.357054 |
11/2/2022 2:00 | 1.346436 |
11/2/2022 3:00 | 1.332302 |
11/2/2022 4:00 | 1.365558 |
11/2/2022 5:00 | 1.337686 |
11/2/2022 6:00 | 1.324106 |
11/2/2022 9:00 | 1.314799 |
11/2/2022 10:00 | 1.249617 |
11/2/2022 11:00 | 1.252009 |
11/2/2022 12:00 | 1.352135 |
11/2/2022 13:00 | 1.326178 |
11/2/2022 14:00 | 1.352064 |
11/2/2022 15:00 | 1.355281 |
11/2/2022 16:00 | 1.321422 |
11/2/2022 17:00 | 1.338068 |
11/2/2022 18:00 | 1.3636 |
11/2/2022 19:00 | 1.365102 |
Solved! Go to Solution.
I have no idea if this comes close to what you are looking for, but I gave it a try.
The thing is, you really can't do a left or right outer join, well, that was until @NeilR made The Advanced Join Macro
I have used that to join on your two sets of data, where I first made a Lowe and an Upper datetime for the +- 2 hours inteval
You can play with the attached workflow
/Verakso (ツ)
Here's a suggestion;
Since your sample data has the same format, add a Formula tool after each Input tool and create a new field. Name the field it whatever you want, but maybe "Input". In one Formula tool add in the expression "Input 1" and leave as a string and the other Formula tool do the same but name it "Input 2".
Then use the Union tool to put the data together. After the Union tool use a Sort tool on your DATETIME_D field.
You can then use a Filter tool to do a less than this date and more than this date expression. Make sure your date field is listed as Date or DateTime in the meta data.
That will give you the data for bother data sets within the time range you want. You will also be able to see what data came from what data set with the new field you created.
Hope that helps.