Вы можете легко сделать это в SSRS, внеся небольшое изменение в запрос к набору данных.
Я воспроизвел ваши образцы данных со следующим
DECLARE @t TABLE(CNum int, EMpNo int, TDate Date, TimeIn Time, [Timeout] Time)
INSERT INTO @t VALUES
(100, 2, '2019/12/04', '07:00', '12:00'),
(100, 2, '2019/12/04', '12:30', '15:30'),
(100, 2, '2019/12/05', '07:00', '12:00'),
(100, 2, '2019/12/05', '12:30', '15:30')
SELECT *, ROW_NUMBER() OVER(PARTITION BY TDate, Cnum ORDER BY TimeIn) as RowN FROM @t
Примечание. Я добавил RowN
столбец, который дает каждой строке уникальный номер в каждом TDate
и CNum
. Мы добавляем это к группе CNum в матрице (поэтому она группируется по CNum, а затем по RowN)
Вот окончательный вариант, включающий группы строк и столбцов (группа столбцов только по TDate)
Чтобы получить 2-ую строку, я щелкнул правой кнопкой мыши по ячейке [TimeIn] и сделал «Вставить строку => Внутри группы - ниже»
Окончательный вывод выглядит так