Создание отчетов с разбивкой на страницы в Службах Reporting Services с помощью Конструктора отчетов (SSRS)

Применимо к: SQL Server 2016 (13.x) и более поздние версии службы отчетов (Reporting Services)

Вы можете использовать конструктор отчетов для создания полнофункциональных страничных отчетов SQL Server Reporting Services (SSRS) и решений для отчетности. конструктор отчетов предоставляет:

  • Способ определения источников данных, наборов данных и запросов.
  • Возможности проектирования и настройки макета областей данных и полей.
  • Интерактивные функции, такие как параметры и наборы отчетов, которые работают вместе.

Конструктор отчетов — это функция SQL Server Data Tools (SSDT)среды Microsoft Visual Studio для создания решений бизнес-аналитики.

Установка SSDT

SSDT не входит в состав SQL Server. Необходимо установить SSDT отдельно. Инструкции см. в разделе "Установка SSDT" с помощью Visual Studio.

Чтобы использовать шаблоны конструктор отчетов, также необходимо установить расширение SSRS для Visual Studio. Инструкции см. в разделе "Установка расширений" для служб Analysis Services, Integration Services и Reporting Services.

Преимущества проектов отчетов

В конструктор отчетов можно использовать проекты для упорядочивания отчетов. Проекты отчетов используются как контейнеры для определений отчетов и ресурсов. Проекты можно использовать для следующих задач:

  • Упорядочение отчетов и связанных элементов в одном контейнере.
  • Тестирование решений отчетов, включающих отчеты и связанные элементы локально.
  • Совместное развертывание связанных элементов. Для развертывания элементов в нескольких средах можно использовать свойства проекта и управление конфигурацией.
  • Сохранение набора основных копий отчетов и связанных элементов, так как после развертывания опубликованные отчеты могут быть случайно изменены.

Сведения в этой статье можно использовать для разработки отчетов с разбивкой на страницы и связанных элементов для одного проекта отчетов в решении SSDT. Дополнительные сведения о решениях и нескольких проектах в SSDT см. в разделе Службы Reporting Services в SQL Server Data Tools (SSDT).

Общие источники данных и наборы данных

SSDT позволяет создавать и развертывать общие источники данных и общие наборы данных для решения по созданию отчетов.

  • Чтобы развернуть общий источник данных независимо от других элементов проекта, можно использовать OverwriteDataSources свойства и TargetDataSourceFolder свойства.
  • Чтобы развернуть общий набор данных независимо от других элементов в проекте, можно использовать свойства OverwriteDatasets и TargetDatasetFolder.

Дополнительные сведения см. в разделе Настройка свойств развертывания (Reporting Services).

В Конструкторе отчетов вы работаете как в области «Данные отчета», так и в обозревателе решений, чтобы определять источники данных и общие наборы данных, используемые в отчете. Дополнительные сведения см. в области «Данные отчета».

Если источник данных публикуется на сервере отчетов или сайте SharePoint, но не включен в решение SSDT, нельзя использовать SSDT для открытия этого источника данных. Аналогичным образом нельзя использовать SSDT для открытия опубликованных наборов данных непосредственно с сервера отчетов или сайта SharePoint. Чтобы открыть источник данных или набор данных в этих сценариях, можно использовать построитель отчетов. Дополнительные сведения см. в разделе Среда разработки отчетов Report Builder (SSRS). Для наборов данных используйте среду в режиме общего набора данных.

SSDT — это клиентское средство. Ее можно использовать в следующих целях:

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

После развертывания:

Дополнительные сведения о включении данных в отчеты с разбивкой на страницы см. в разделе Создание строк подключения к данным в построителе отчетов.

Отчеты, разбитые на страницы

Отчеты с разбивкой на страницы — это файлы, хранимые в проекте отчета. Файл отчета с разбивкой на страницы можно использовать как автономный отчет, вложенный отчет или в качестве целевого объекта для детализации действий из основных отчетов. Чтобы развернуть отчет независимо от других элементов проекта, можно использовать TargetReportFolder свойство и другие свойства. Дополнительные сведения см. в разделе Настройка свойств развертывания (Reporting Services).

Примечание.

Если вы публикуете на сервере отчетов в режиме SharePoint, в проекте конструктор отчетов невозможно протестировать некоторые функции решения отчетов. Для ссылок на отчёты, вложенные отчёты и отчёты с детализацией необходимо указывать полные URL-адреса, которые можно проверить только после развертывания проекта отчёта. Дополнительные сведения см. в разделе Примеры URL-адресов для элементов на сервере отчетов в режиме SharePoint.

Если установить расширение SSRS в Visual Studio, как описано ранее в установке SSDT, можно использовать шаблон проекта сервера отчетов для создания нового проекта. Затем вы можете добавить отчет в проект любым из следующих способов:

  • Используйте мастер отчетов. Отчет создается шаг за шагом согласно инструкциям. Мастер отчетов упрощает определение данных и структуру отчета в ряд шагов, которые предоставляют готовый отчет. Можно добавить стили для настройки мастера для вашей организации. Дополнительные сведения см. в разделе "Добавление нового отчета с помощью мастера отчетов".

  • Добавьте новый элемент типа «отчет». Пустой отчет открывается в конструкторе отчетов. Дополнительные сведения см. в разделе "Добавление нового пустого отчета".

  • Добавить существующий элемент. Существующий файл определения отчета (.rdl) открывается в Конструкторе отчетов. Открытие отчета или проекта из более ранней версии SSRS может автоматически обновить проект до текущей версии и отчета до текущей схемы. Дополнительные сведения см. в отчетах об обновлении (SSRS).

  • Импорт отчета Microsoft Access. Процесс импорта импортирует все отчеты из файла базы данных Access (.mdb, .accdb) или файла проекта (.adp). конструктор отчетов преобразует каждый отчет в файле базы данных или проекта в язык определения отчета (RDL) и сохраняет его в проекте отчета. Не все функции отчета Access передаются в файл определения отчета (RDL). Дополнительные сведения см. в статье "Импорт отчетов из Microsoft Access (службы Reporting Services)".

    Примечание.

    Чтобы использовать функцию импорта, необходимо, чтобы на компьютере, на котором установлен конструктор отчетов, был установлен Access 2002 или более поздняя версия. При импорте отчетов должен быть доступен источник данных для отчетов Access.

  • Работайте непосредственно в RDL-файле. Отчет сохраняется в формате XML в виде RDL-файла. Этот файл можно изменить в конструктор отчетов, текстовом редакторе или любом редакторе XML.

    При изменении источника определения отчета в конструктор отчетов вы работаете в текущей схеме RDL для версии SQL Server, из которую вы установили средства разработки. При построении проекта версия схемы может измениться в зависимости от свойств развертывания. Дополнительные сведения см. в разделе "Развертывание и поддержка версий" в SQL Server Data Tools (SSDT).

    Редактирование RDL напрямую может привести к тому, что отчет не может быть опубликован на сервере отчетов или не может выполняться. Как и в любом XML-файле, убедитесь, что вы правильно кодируете символы, относящиеся к XML, которые используются в элементах. При публикации отчета сервер отчетов использует схему для проверки XML в файле RDL.

    Чтобы включить элементы, которые не являются частью схемы RDL, поместите их в пользовательский элемент. Пользовательские модули отрисовки могут считывать пользовательские элементы. Но расширения рендеринга, предоставляемые SSRS, игнорируют этот элемент. Например, можно использовать пользовательский элемент для хранения комментариев в отчете.

    Дополнительные сведения см. в разделе Язык определения отчетов (службы SSRS).

Элементы отчета

Примечание.

Фрагменты отчетов объявлены устаревшими во всех выпусках SQL Server Reporting Services, начиная с SQL Server Reporting Services 2019, и во всех выпусках Сервер отчетов Power BI, начиная с Сервер отчетов Power BI September 2022.

В конструктор отчетов в проекте можно создавать таблицы, диаграммы и другие элементы отчета с разбивкой на страницы. После создания их можно опубликовать как части отчета на сервере отчетов или сайте SharePoint, интегрированном с сервером отчетов. Это действие позволяет вам и другим пользователям повторно использовать их в других отчетах. Дополнительные сведения см. в разделе Части отчетов в Конструкторе отчетов (SSRS).

Части отчета можно развертывать независимо от других элементов в проекте с помощью TargetReportPartFolder свойства и других свойств. Дополнительные сведения см. в разделе Настройка свойств развертывания (Reporting Services).

Ресурсы

Можно добавить в проект файлы, которые связаны с отчетом, но не обрабатываются сервером отчетов. Например, можно добавить изображения или добавить файлы фигур для пространственных данных в Институте исследований экологических систем( Inc. (ESRI). Дополнительные сведения см. в разделе Ресурсы.

Макет отчета с разбивкой на страницы

Чтобы создать макет отчета, перетаскивают элементы отчета и области данных из панели элементов конструктора отчетов в область разработки и располагают их. Перетаскивая поля набора данных на элементы на поверхности конструктора, можно добавлять данные в отчет. Чтобы упорядочить данные в группах в области данных табликса, перетащите поля набора данных в область группирования. Поскольку средства создания отчетов по сути служат для создания определений отчетов, подход к проектированию отчетов в Построителе отчетов и Конструкторе отчетов схож.

Предварительный просмотр отчета с разбивкой на страницы

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

Примечание.

При осуществлении предварительного просмотра отчета данные для отчета кэшируются в файл на локальном компьютере. При повторном просмотре того же отчета с помощью одного запроса, параметров и учетных данных конструктор отчетов извлекает кэшированную копию, а не повторно запускает запрос. Файл данных сохраняется в том же каталоге, что <report-name>.rdl.data и файл определения отчета. Файл не удаляется при закрытии конструктор отчетов.

Просмотреть отчет можно следующими способами:

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

  • Автономный предварительный просмотр. Локальный отчет можно запустить в браузере. Используя конфигурацию отладки, этот режим также можно использовать для отладки своих пользовательских сборок. Существует три способа запуска проекта в режиме отладки:

    • В меню отладки можно выбрать команду "Начать отладку".
    • На стандартной панели инструментов Visual Studio можно нажать кнопку "Пуск ".
    • Вы можете выбрать F5.

    Если вы используете конфигурацию проекта, которая создает отчет, но не развертывает его, отчет, указанный в StartItem свойстве текущей конфигурации, открывается в отдельном окне предварительного просмотра.

    Примечание.

    Чтобы использовать режим отладки, необходимо задать стартовый элемент. Чтобы задать начальный элемент, перейдите к Обозреватель решений, щелкните проект отчета правой кнопкой мыши и выберите пункт "Свойства". Затем в StartItem выберите имя отображаемого отчета.

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

  • Предварительный просмотр. При первом открытии отчета в режиме предварительного просмотра или в окне предварительного просмотра он выглядит так же, как отчет, созданный модулем подготовки отчетов в формате HTML. Предварительный просмотр не в формате HTML, но структура и разбиение отчета на страницы аналогичны HTML-выводу.

    Вместо этого отчет можно просмотреть в таком виде, как если бы он был напечатан, путем переключения в режим просмотра печати. Когда вы выбираете Предварительный просмотр на панели инструментов «Предварительный просмотр», отчет отображается так, как если бы он был на физической странице. Это представление напоминает результат, который создают расширения для отрисовки изображений и PDF. Предварительный просмотр печати не является изображением или PDF-файлом, но макет и разбиение отчета на страницы похожи на выходные данные в этих форматах. Можно выбрать размер изображения отчета, например, и задать ширину страницы.

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

    • Дополнительные пустые страницы, так как отчет слишком широк, чтобы соответствовать размеру бумаги, указанному для отчета.
    • Дополнительные пустые страницы, поскольку отчет содержит матрицу, которая динамически расширяется, чтобы превышать указанную ширину бумаги.
    • Разрывы страниц между группами, которые не работают так, как вы хотите.
    • Верхние и нижние колонтитулы, которые отображаются не так, как ожидалось.
    • Макеты отчетов, необходимые для изменения, лучше отображаются в печатном формате.

Сохранение и развертывание отчетов с разбивкой на страницы

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

В Конструкторе отчетов вы создаете отчет, используя схему определения отчета, поддерживаемую текущей версией SSRS в SSDT. Свойства развертывания проекта можно задать для определенного сервера отчетов или сайта SharePoint. При сохранении отчета конструктор отчетов сохраняет определение отчета в каталог сборки в схеме, которая соответствует версии на целевом сервере отчетов. Чтобы создать отчеты, которые можно опубликовать на сервере отчетов, использующего более раннюю версию служб SSRS, конструктор отчетов удаляет элементы отчета, которые не существуют в целевой схеме. Это действие выполняется автоматически и без запроса. При выполнении этого действия исходное определение отчета сохраняется в папке проекта. Измененное определение отчета, которое развертывает Конструктор отчетов, находится в папке сборки.

Примечание.

Для отладки выражений и ошибок развертывания необходимо просмотреть определение отчета в папке сборки. Не используйте код представления в контекстном меню файла отчета для просмотра определения отчета в этом случае. При выборе Просмотреть код открывается исходный код определения отчета из папки проекта.

Дополнительные сведения см. в разделе "Развертывание и поддержка версий" в SQL Server Data Tools (SSDT).

Сохранение отчета локально

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

Если вы используете систему контроля версий, то при сохранении отчета он может быть отправлен на сервер системы контроля версий. Дополнительные сведения см. в разделе "Управление версиями".

Развертывание или публикация отчетов с разбивкой на страницы

Из SSDT можно развернуть отчеты или другие элементы проекта на нескольких версиях серверов отчетов SSRS. Используйте конфигурации проекта для управления обновлением определений отчетов до версий схем, совместимых с целевыми серверами отчетов. Конфигурации проекта управляют определенными свойствами, включая целевой сервер отчетов, папку, в которой процесс сборки временно сохраняет определения отчетов для предварительного просмотра и развертывания и уровней ошибок. Дополнительные сведения см. в разделах Свойства конфигурации и развертывания и Задание свойств развертывания (службы Reporting Services).

Экспорт отчета с разбивкой на страницы в другой формат файла

Отчеты можно экспортировать в различные форматы. Эти форматы влияют на работу некоторых функций макета отчета и интерактивности. Дополнительные сведения о проектировании различных форматов выходных данных см. в статье "Экспорт отчетов с разбивкой на страницы" (построитель отчетов).

Отчет о проверке и уровни ошибок

Отчеты проверяются перед предварительным просмотром и во время развертывания. Многие проблемы могут возникать при создании отчетов. Например, отчеты могут содержать строки, такие как выражения или запросы, несовместимые с версией SSRS, указанной конфигурацией проекта.

ErrorLevel Используйте свойство для управления предупреждениями и ошибками сборки. Свойству ErrorLevel можно присвоить значение от 0 до 4 включительно. Значение определяет, какие из проблем сборки помечаются как ошибки, а какие — как предупреждения. Значение по умолчанию равно 2. Предупреждения и ошибки записываются в окно SSDT Output.

Проблемы с уровнями серьезности, которые меньше или равны ErrorLevel значению, сообщаются как ошибки. Другие проблемы отображаются в виде предупреждений.

В следующей таблице перечислены уровни ошибок.

Уровень ошибки Описание
0 Наиболее серьезные проблемы сборки, которые препятствуют предварительному просмотру и развертыванию отчетов
1 Серьезные проблемы сборки, которые резко изменяют макет отчета
2 Менее серьезные проблемы сборки, которые значительно изменяют макет отчета
3 Незначительные проблемы сборки, изменяющие макет отчета незначительными способами, которые могут не быть заметными
4 Предупреждения о проблемах публикации

Вы можете попытаться просмотреть или развернуть отчет, содержащий элементы отчета, которые не поддерживаются в вашей версии SSRS. Но эти элементы отчета иногда удаляются из отчета, и возникает ошибка уровня 2. Если для свойства ErrorLevel задано значение по умолчанию 2, сборка завершается ошибкой в этом случае.

Эту проблему можно обойти, изменив ErrorLevel значение на 0 или 1. Затем при удалении элемента выдается предупреждение, и процесс сборки продолжается.