SSRS Последовательно отображают список таблиц

#reporting-services #ssrs-tablix

#отчетность-услуги #ssrs-табликс

Вопрос:

У меня есть список данных с идентификатором последовательности 1, 2, 3, …, 9

Я хочу вставить их в отчет SSRS в виде таблицы 3×3, упорядоченной по идентификатору последовательности

 1 2 3 4 5 6 7 8 9  

Я должен использовать список, или таблицу, или матрицу? Есть ли какое-либо решение для этой договоренности? Спасибо

Ответ №1:

Обычно я бы использовал для этого матрицу. Вы можете рассчитать номера строк и столбцов для каждой строки данных в таблице, а затем использовать их для групп строк и столбцов в матрице.

Вот пример…

Примечание.Возможно, у вас нет или вам не нужно поле «метка», поэтому просто замените его на то поле, которое вы хотите отобразить, когда мы перейдем к дизайну отчета.

Вот некоторые примеры данных с рассчитанными строками и столбцами

 DECLARE @t TABLE (Seq int, Label varchar(10))  INSERT INTO @t VALUES  (1, 'AAAAA'), (5, 'BBBBB'), (10, 'CCCCC'),  (20, 'DDDDD'), (50, 'EEEEE'), (100, 'FFFFF'),  (101, 'GGGGG'), (102, 'HHHHH'), (210, 'IIIII')  SELECT   *   , ColN = (SeqOrder-1) %3  , RowN = (SeqOrder-1) / 3 FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY Seq) AS SeqOrder FROM @t) t  

Внутренний запрос просто назначает СекОрдер от 1 до 9. Затем мы используем это значение SeqOrder для определения строки и столбца

Это дает нам следующий набор данных

введите описание изображения здесь

Затем мы просто добавляем матрицу в наш отчет

введите описание изображения здесь

Затем перетащите ColN поле в заполнитель «Столбцы», RowN поле в заполнитель «Строки» и Label поле (или любое другое поле, которое вы хотите отобразить) в заполнитель «Данные».

Запустите отчет, и вы получите это

введите описание изображения здесь

При необходимости вы можете удалить первую строку и столбец (но НЕ связанную группу) и просто оставить ячейку данных.

введите описание изображения здесь

Теперь, когда мы запустим его, мы получим вот это.

введите описание изображения здесь

Комментарии:

1. Это именно то, что я хочу показать! Спасибо!!