I am sure there would be some easy script but mean time you can use this..
Load * Inline
Id ErrorType Date Status
1 A 1/1/2017 Unresolved
1 A 1/2/2017 Resolved
1 A 1/3/2017 Unresolved
1 A 1/4/2017 Unresolved
1 A 1/5/2017 Resolved
1 A 1/6/2017 Unresolved
1 A 1/7/2017 Resolved
1 B 1/7/2017 Unresolved
] (delimiter is \t);
RowNo() as ID1,
If(Status = Previous(Status),1) as Flag,
If(Status = 'Unresolved' and Previous(Status) <> 'Unresolved',Date,Null()) as [Start Date]
Order By Id, ErrorType, Date Asc;
Drop Table Data;
RowNo() as ID2,
If(RowNo() = 1, Null(),If(Peek(Status) = 'Resolved', Peek(Date))) as [End Date]
Where Flag <> 1
Order By ID1 Desc;
Drop Table Temp1;
Drop Field Status;
If(RowNo() = 1, 'Unresolved','Resolved') as Status
Where Not IsNull([Start Date]);
Drop Table Temp2;
Drop Fields Date, ID1, ID2, Flag;
You can do below steps to learn what I have done
1) Load only Data table and use table box to load every field in it.
2) Now load until Drop Table Data; and do the same.
3) Now again load until Drop Table Temp1; and do the same
4) Now load full..
This way you will understand step by step what I have done... ! If you still have any issue in understanding my code, will surely help you.