Я пытаюсь выяснить, как вернуть одну строку для Актива, которая показывает общее количество дней накопленных периодов.Однако я хочу добавить только определенные периоды в зависимости от того, находится ли начальная дата в течение 10 дней после конечной даты предыдущего периода.
столбец TotalDays в данных образца: если у периода нет конечной даты, общее количество днейСегодня (13/10/2018) минус StartDate.
Разбивка таблицы ожидаемых результатов:
Строка 1 / Актив 1: TotalDays составляет 278, потому что
- Период 2 начался 1 день после периода1 закончился
- , а период 3 начался через 6 дней после окончания периода 2
- , поэтому 63 + 29 + 186 = 278
Строка 2 /Актив 2: TotalDays равен 120, потому что
- Период 1 и 2 оба открыты, поэтому используйте самую раннюю дату начала
- Сегодня минус 15/06/2018 = 120
Строка 3 / Актив 3: TotalDays равен 66, потому что
- Период 2 начался через 10 дней после окончания периода 1
Если у актива нет открытых периодов, он не будет отображаться на выходе.
Рад что-то прояснить, поскольку я знаю, что это немного сложно!
Большое спасибо.
Пример данных:
+-----+---------+--------+------------+------------+-----------+--------------------------------------+--------+
| Row | AssetID | Period | StartDate | EndDate | TotalDays | DaysBetweenEndDateAndStartDateOfNext | Status |
+-----+---------+--------+------------+------------+-----------+--------------------------------------+--------+
| 1 | 1 | 1 | 01/01/2018 | 05/03/2018 | 63 | NULL | Closed |
| 2 | 1 | 2 | 06/03/2018 | 04/04/2018 | 29 | 1 | Closed |
| 3 | 1 | 3 | 10/04/2018 | NULL | 186 | 6 | Open |
| 4 | 2 | 1 | 15/06/2018 | NULL | 120 | NULL | Open |
| 5 | 2 | 2 | 01/07/2018 | NULL | 104 | NULL | Open |
| 6 | 3 | 1 | 01/02/2018 | 10/02/2018 | 9 | NULL | Closed |
| 7 | 3 | 2 | 08/08/2018 | NULL | 66 | 179 | Open |
+-----+---------+--------+------------+------------+-----------+--------------------------------------+--------+
Ожидаемый результат:
+-----+---------+------------+---------+-----------+
| Row | AssetID | StartDate | EndDate | TotalDays |
+-----+---------+------------+---------+-----------+
| 1 | 1 | 01/01/2018 | NULL | 278 |
| 2 | 2 | 15/06/2018 | NULL | 120 |
| 3 | 3 | 08/08/2018 | NULL | 66 |
+-----+---------+------------+---------+-----------+