Я пытаюсь определить, когда клиенты не входят в систему в течение календарной недели, когда в последний раз они входили в систему. Начальный набор данных выглядит примерно так:
User_Name Login_Date Week_Ending
Bobisaur 1/1/2019 1/5/2019
Bobisaur 1/3/2019 1/5/2019
Bobisaur 3/5/2019 3/9/2019
Bobisaur 3/24/2019 3/30/2019
Bobisaur 4/1/2019 4/6/2019
Теперь для недели, заканчивающейся 1/12/2019
и т. Д., Для клиента не будет входов Bobisaur
Я хотел бы получить набор данных, который выглядит следующим образом:
User_Name Week_Ending (for weeks with no login) Days Since Last Login (as of week ending date)
Bobisaur 1/12/2019 7
Bobisaur 1/19/2019 14
Bobisaur 1/26/2019 21
Bobisaur 2/2/2019 28
Bobisaur 2/9/2019 35
Bobisaur 2/16/2019 42
Bobisaur 2/23/2019 49
Bobisaur 3/2/2019 56
Bobisaur 3/16/2019 11
Bobisaur 3/23/2019 18
Bobisaur 4/13/2019 12
Это будет фильтрация по списку недель для пользователя, для которого у него не было логина, и столбца для количества дней, прошедших с момента последнего входа в систему, на эту конкретную дату окончания недели.
Я могу получить Week_Ending
даты, когда нет активности входа в систему, однако я застрял при расчете «Дней с момента последнего входа в систему (по состоянию на дату окончания недели)». Я попытался использовать (Week_Ending - max(Login_Date))
, а затем указать предложение, имеющее max(Login_Date) <= Week_Ending
.
Однако это в основном убрало все строки, где значение Week_Ending
было ранее, чем максимальное Login_Date
.
Любая помощь будет принята с благодарностью. Спасибо!