Как я уже писал в своем комментарии выше, основной подход к решению этой проблемы объясняется в ответе https://stackoverflow.com/a/56440755/2358409.
На основе этого я создал StackBlitz с мнимыми данными, которыепоказывает решение для вашего конкретного случая.
Пожалуйста, посмотрите на StackBlitz