Как мне отобразить данные в заголовке отчета служб SQL 2005 Reporting Services?

StackOverflow https://stackoverflow.com/questions/63938

Вопрос

Готовые отчеты SSRS не могут содержать данные, отображаемые в заголовке страницы.Есть ли способ показать эти данные?

Это было полезно?

Решение

Одна из вещей, которую я хочу иметь в своих отчетах, - это красивые заголовки для моих отчетов.Мне нравится иметь логотип и параметры отчета пользователя наряду с другими данными для отображения, чтобы предоставить больше информации для бизнес-нужд, которые отчет должен прояснить.Одна из вещей, которую службы Microsoft SQL Server 2005 Reporting Services не могут выполнять изначально, - это показывать данные из набора данных в заголовке.В этом посте будет объяснено, как обойти это и насколько это просто.

Создайте проект сервера отчетов в разделе Проекты бизнес-аналитики и назовите его AdventureWorksLTReports.Я использую образец базы данных AdventureWorksLT от CodePlex.

альтернативный текст http://www.cloudsocket.com/images/image-thumb.png

Затем покажите заголовок страницы, щелкнув правой кнопкой мыши в области Отчета с помощью конструктора.

альтернативный текст http://www.cloudsocket.com/images/image-thumb1.png

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

альтернативный текст http://www.cloudsocket.com/images/image-thumb2.png

Я создал хранимую процедуру, которая возвращает данные для Заказа на продажу, которые будут представлены в заголовке страницы.Я покажу следующую информацию о Заказе на продажу в Заголовке Страницы:

  • Дата заказа
  • Номер заказа на продажу
  • Компания
  • Специалист по продажам
  • Общая сумма задолженности

Я создаю текстовое поле для каждого из моих полей данных в Заголовке страницы вместе с текстовым полем для соответствующей метки.Не изменяйте Выражение в текстовых полях, в которые вы хотите ввести данные заказа на продажу.

альтернативный текст http://www.cloudsocket.com/images/image-thumb3.png

В Тексте отчета поместите текстовое поле для каждого необходимого поля данных в Заголовке Страницы.В поле Видимость для каждого текстового поля выберите значение True для Скрытого.Это будет заполнитель для необходимых данных в заголовке страницы.

альтернативный текст http://www.cloudsocket.com/images/image-thumb4.png

Ваш отчет должен выглядеть так, как показано на скриншоте ниже.

альтернативный текст http://www.cloudsocket.com/images/image-thumb5.png

Последний и самый важный шаг - это ссылка на Скрытое текстовое поле в текстовых полях, расположенных в Заголовке страницы.Мы используем следующее выражение для ссылки на необходимые текстовые поля:

=Объекты отчета!.Значение

Теперь ваш отчет должен выглядеть примерно следующим образом:

альтернативный текст http://www.cloudsocket.com/images/image-thumb6.png

Теперь в заголовке вашего предварительного просмотра отчета должны быть указаны данные заголовка заказа на продажу.

альтернативный текст http://www.cloudsocket.com/images/image-thumb7.png

Другие советы

Вы должны сделать это с помощью параметров.Добавьте параметр для каждого фрагмента данных, который вы хотели бы отобразить, затем установите для параметра значение Скрытый.Затем установите значение по умолчанию равным "Из запроса" и установите для Dataset и поля Value соответствующие значения.

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

Вот два возможных варианта обходные пути:

  1. Вы можете поместить поле databound в текстовое поле отчета в виде скрытого текстового поля, а затем в заголовке поместить другое текстовое поле со значением, указывающим на то, которое скрыто в теле отчета.

  2. Попробуйте использовать параметры отчета для хранения данных и используйте эти параметры для доступа к данным в заголовке.

Этот метод не сработает, если ваш отчет охватывает несколько страниц, используйте вместо этого запрашиваемые параметры и установите значение текстового поля равным =Parameters!Name .Значение согласно эта статья.

Я здесь с Орионом Адрианом.Параметры отчета - это правильный путь.

Я хотел показать поле, общее для всех возвращаемых строк, в заголовке, и для этого сценария я выбрал решение связанной таблицы (поместив таблицу, содержащую поле, в тело и связав текстовое поле в заголовке с этой таблицей).

Я сделал это, потому что, если вы используете решение с параметром и в соответствующее поле не возвращаются данные, вместо просто пустой таблицы отображается текст "Параметру не хватает значения".Я полагал, что этот текст собьет пользователей с толку (поскольку параметр даже не виден).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top