SSRS - Как создать простой многостолбцовый отчет? - PullRequest
8 голосов
/ 19 июня 2009

Я новичок в SSRS, так что простите меня за новизну. Я использую Sql Server 2008 и хочу показать 1 отдельное поле из таблицы в нескольких столбцах отчета. Так же, как если бы я должен был печатать этикетки. Как мне этого добиться?

Пример:

Вместо печати:

Отчет об именах

Andrea
Остин
Barbara
Боб
Bruno
Cathy
Chis
...

Я хочу напечатать в столбцах (скажем, 3 фиксированных столбца):

Имена сообщают

Андреа ---- Бруно ---- Даррен
Остин ---- Кэти ---- Фрэнсис
Барбара ---- Чис ---- ---- Габриэль
Боб ---- Дэвид ---- Джеральд
....... ---- ....... ---- .......

Редактировать: Если я запускаю отчет и нажимаю кнопку «Печать макета», я вижу несколько столбцов. Могу ли я установить этот режим по умолчанию?

Ответы [ 3 ]

13 голосов
/ 22 марта 2011

Для горизонтального размещения этикеток ...

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

Один из вариантов - использовать матрицу и группу на каждые 3 строки (если вы хотите 3 столбца).

Это немного сложно.

Мое решение - разместить на странице 3 вертикальных списка. поставить одну и ту же метку в каждом списке. Верните номер строки в свой набор данных. Затем просто отфильтруйте каждый список по модулю 3

Например

Результирующий набор

RIndex Fname
1 abe
2 burt
3 fred
4 george

Фильтр выражений

list 1 -> =Fields!RIndex.Value mod 3 = =1
list 2 -> =Fields!RIndex.Value mod 3 = =2
list 3 -> =Fields!RIndex.Value mod 3 = =0

Результат

Abe Burt Fred 
George 
6 голосов
/ 06 июня 2013

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

Вы можете объединить ROW_NUMBER с оператором по модулю (%) непосредственно в запросе, чтобы создать номер столбца, в котором должна отображаться запись. Вот пример, который генерирует один, принимая во внимание группу:

declare @numberOfColumns int = 4;

select dpc.EnglishProductCategoryName, dp.ProductAlternateKey
    , (ROW_NUMBER() OVER (
        PARTITION BY dpc.EnglishProductCategoryName
        ORDER BY dp.ProductAlternateKey) + @numberOfColumns - 1) % @numberOfColumns + 1
    as DisplayColumn
from dbo.DimProduct dp
inner join dbo.DimProductSubcategory dps on dps.ProductSubcategoryKey = dp.ProductSubcategoryKey
inner join dbo.DimProductCategory dpc on dpc.ProductCategoryKey = dps.ProductCategoryKey;

Чтобы отобразить это, я использую вложенные таблицы, которые затем фильтруются в DisplayColumn.

Прочтите следующую статью, чтобы узнать все детали: Создание отчетов с несколькими столбцами

3 голосов
/ 19 июня 2009

Используйте меню «Отчет» в Visual Studio и выберите «Свойства отчета». Вы можете установить столбцы на вкладке «Макет».

Попробуйте эту статью о отчетах в стиле новостной рассылки для более подробной информации: http://msdn.microsoft.com/en-us/library/ms159107.aspx

Этот метод имеет ограничение, хотя в некоторых случаях он может быть неприменим:

Поддерживаются только рендеры PDF и Image отчеты в стиле новостной рассылки.

EDIT: Поэтому одним из подходов является использование нескольких табликсов с фильтром, который проверяет RowNumber и, соответственно, отображает конкретные записи в каждой таблице.

Другой способ называется Отчет в стиле бюллетеня (ссылка) . Это форматирование сохраняется только при экспорте отчета в формате PDF или изображения. Предварительный просмотр возможен только при выборе «Макет печати» на вкладке «Предварительный просмотр» в Visual Studio. Вот пример:

  1. Создать новый отчет с помощью следующего. набор данных: SELECT ID,NAME FROM TABLENAME
  2. Добавить новую таблицу в отчет и выбрать ID и Имя в качестве столбцов
  3. Нажмите на tablix и нажмите F4, чтобы редактировать свойства tablix. В окне свойств измените Размер - установите ширину 2 дюйма
  4. Щелкните область отчета за границей страницы отчета и нажмите F4, чтобы изменить свойства отчета. В окне свойств измените значение Столбец на 3, а расстояние между столбцами - 0,1
  5. При прокрутке отчета вправо вы увидите, что появилось 2 новых столбца (всего 3 столбца в отчете - потому что вы выбрали 3 в шаге 4 выше). Теперь нажмите на поле в начале столбца 2 и потяните его дальше влево, чтобы приблизить его к столбцу 1. Это только для того, чтобы уменьшить потребность в огромном размере страницы.
  6. Щелкните правой кнопкой мыши область отчета за границей страницы отчета и выберите Свойства отчета. Изменить размер страницы - установите ширину 10 дюймов
  7. Предварительный просмотр отчета. Теперь выберите вкладку «Печать макета», чтобы увидеть результат. Это форматирование сохраняется только при экспорте отчета в формате PDF или изображения.

Как отмечалось в пунктах 5 и 6, поскольку тело отчета состоит из нескольких столбцов, вы должны убедиться, что размер страницы по крайней мере равен -> ([Исходный размер тела отчета, умноженный на количество столбцов] + все значения расстояния между столбцами). В противном случае это будет выглядеть грязно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...