SSRS, возвращают строки в макет сетки

#reporting-services

Вопрос:

У меня есть набор данных, который мне нужно упорядочить в сетку на странице (экспортировать в PDF-файлы) в качестве отчета клиента. Каждая строка в моем наборе данных должна отображаться в виде ячейки. На каждой странице будет примерно 3 записи, отображаемые в виде столбцов, а затем 4 строки записей. например, (сетка 3х4), по 12 записей на страницу.

Прямо сейчас я использую матрицу для отображения своих результатов, но я не могу найти, как заставить мою матрицу начать 2-ю строку после создания 3 столбцов.

Возможно ли это или мне следует найти другое решение для создания этих отчетов?

Я думал, может быть, если бы у меня были группы строк для использования, но не уверен, как создать столбец, который создает повторяющийся результат 3 раза, а затем добавляет 1 к следующим 3 результатам в моем запросе. 111 222 333 444, и это может быть моя группа строк?

Ответ №1:

Вот что я использую в матрице для создания сетки столбцов из одной ячейки.

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

Добавьте поле ROW_NUMBER в запрос набора данных и вычтите 1 с ПОРЯДКОМ, используя поле, по которому будет выполняться порядок.

 ROW_NUMBER()OVER(ORDER BY DISPLAY_NAME) - 1 AS ROW_NUM
 

Добавьте вычисляемые поля в набор данных с помощью ROW_NUM.

Вызовите первый СТОЛБЕЦ и измените row_num на 3, чтобы получить значения или 0 — 2 для номера столбца:

 =Fields!ROW_NUM.Value MOD 3 
 

Вызовите вторую СТРОКУ вычисляемого поля и получите значение INT ROW_NUM, разделенное на 3, чтобы получить номер строки для записи:

 =INT(Fields!ROW_NUM.Value / 3)
 

Тогда матрица будет иметь группировку столбцов (и сортировку) на основе поля СТОЛБЦА и группировки строк в поле СТРОКИ.

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

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

Вы можете использовать параметр в качестве числа столбцов (3), чтобы упростить его изменение.

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

1. Это здорово! Огромное спасибо. Я был близок к тому, чтобы создать формулу в запросе для вычисления строк и столбцов #s, но мне больше нравится ваше решение. Теперь, если бы я только мог понять, почему я получаю 3-4 пустые страницы.

2. @mattc попробуйте немного уменьшить столбцы и установите свойство использовать пробелы в значение true, чтобы увидеть, избавится ли это от пустых страниц.

3. @Гарри, я тоже заинтригован вашим макетом, потому что мой делает всего несколько строк. Как вы структурировали свои поля в этой 1 ячейке?