#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 ячейке?