As-of соединение временных таблиц
Добавить последнее известное значение справочника к каждой записи с направлением и максимальным временным разрывом.
Методика и примеры
As-of соединение временных таблиц
Для каждой записи A выбирается последнее не позже, первое не раньше либо ближайшее значение B в пределах максимального разрыва. Одна справочная запись может использоваться повторно. Неоднозначные равные моменты остаются без автоматической пары.
Ограничения
Точные ключи сохраняют текстовые ID и ведущие нули. Пустые ключи требуют проверки. Нечёткие алгоритмы — до 200 000 пар / 5000 кандидатов с ручным подтверждением; оценка сходства не является вероятностью. ISO-время требует явной зоны. Никакие внешние системы не изменяются.
Проверяемый пример
Входные данные примера
id;time A;2026-01-01T10:00:00Z A;2026-01-01T10:01:00Z B;2026-01-01T10:00:00Z
| Строка A | Строка B | Время A | Время B | Задержка, с | Статус | A.id | A.time | B.id | B.time | B.rate |
|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2 | 2026-01-01T10:00:00Z | 2026-01-01T09:00:00Z | -3600 | совпало | A | 2026-01-01T10:00:00Z | A | 2026-01-01T09:00:00Z | 10 |
| 3 | 3 | 2026-01-01T10:01:00Z | 2026-01-01T10:00:30Z | -30 | совпало | A | 2026-01-01T10:01:00Z | A | 2026-01-01T10:00:30Z | 12 |
| 4 | 2026-01-01T10:00:00Z | нет пары | B | 2026-01-01T10:00:00Z |
