А в чем печаль? На каждый момент времени договор имеет только один статус. В плане данных все корректно. Мне кажется, вы указали не все признаки, то есть там есть таки различие, поэтому и не происходит "сжатие".
Такое дробление происходит вот так:
1. Было:
Code:
Код Дата По Дата С Статус_ВремяНЕЗавис Атрибут_ВремяЗавис
101 31.12.9999 01.01.1000 ST1 XYZ
2. Пришла запись с измененным время-зависимым атрибутом
Code:
Код Дата По Дата С Атрибут_ВремяЗавис
101 31.12.2014 01.01.2014 ABC
3. Получится:
Code:
Код Дата По Дата С Статус_ВремяНЕЗавис Атрибут_ВремяЗавис
101 31.12.2013 01.01.1000 ST1 XYZ
101 31.12.2014 01.01.2014 ST1 ABC
101 31.12.9999 01.01.2015 ST1 XYZ
В данном примере, статус всех записей одинаков, но значение атрибута различно. У вас не так?