Проектирование отчетов с разбивкой на страницы служб 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. Чтобы открыть источник данных или набор данных в этих сценариях, можно использовать построитель отчетов. Дополнительные сведения см. в разделе построитель отчетов среде разработки (SSRS). Для наборов данных используйте среду в режиме общего набора данных.
SSDT — это клиентское средство. Ее можно использовать в следующих целях:
- Протестируйте решение для создания отчетов локально на компьютере.
- Протестируйте решение сервера, развернув решение отчетов в тестовой среде.
- Разверните решение для создания отчетов в рабочей среде.
- Помогите создать и проверить результаты запроса локально с помощью предварительных версий конструкторов запросов SSDT.
После развертывания:
- Убедитесь, что модули обработки источников данных и учетные данные источника данных настроены для среды сервера отчетов. Диспетчер конфигурации сервера отчетов можно использовать для управления свойствами для нескольких развертываний. Дополнительные сведения см. в разделе Службы Reporting Services в SQL Server Data Tools (службы 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 сентября 2022 года.
В конструктор отчетов в проекте можно создавать таблицы, диаграммы и другие элементы отчета с разбивкой на страницы. После создания их можно опубликовать как части отчета на сервере отчетов или сайте SharePoint, интегрированном с сервером отчетов. Это действие позволяет вам и другим пользователям повторно использовать их в других отчетах. Дополнительные сведения см. в разделе "Части отчета" в конструктор отчетов (SSRS).
Части отчета можно развертывать независимо от других элементов в проекте с помощью TargetReportPartFolder
свойства и других свойств. Дополнительные сведения см. в разделе "Задание свойств развертывания " (Службы Reporting Services)".
Ресурсы
Можно добавить в проект файлы, которые связаны с отчетом, но не обрабатываются сервером отчетов. Например, можно добавить изображения или добавить файлы фигур для пространственных данных в Институте исследований экологических систем( Inc. (ESRI). Дополнительные сведения см. в статье о ресурсах DSC.
Макет отчета с разбивкой на страницы
Чтобы создать макет отчета, перетащите элементы отчета и области данных из панели элементов конструктор отчетов в область конструктора и упорядочиваете их. Перетаскивая поля набора данных в элементы в области конструктора, можно добавлять данные в отчет. Чтобы упорядочить данные в группах в области данных табликса, перетащите поля набора данных в область группирования. Поскольку средства разработки отчетов по сути являются способом создания определений отчетов, подход к проектированию отчетов аналогичен построитель отчетов и конструктор отчетов.
Предварительный просмотр отчета с разбивкой на страницы
Представление предварительной версии можно использовать для проверки данных отчета и макета. При предварительном просмотре отчета обработчик отчетов проверяет схему определения отчета и синтаксис выражений. В нем также перечислены проблемы в окне вывода .
Примечание.
При осуществлении предварительного просмотра отчета данные для отчета кэшируются в файл на локальном компьютере. При повторном просмотре того же отчета с помощью одного запроса, параметров и учетных данных конструктор отчетов извлекает кэшированную копию, а не повторно запускает запрос. Файл данных сохраняется в том же каталоге, что <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.
Проблемы с уровнями серьезности, которые меньше или равны ErrorLevel
значению, сообщаются как ошибки. Другие проблемы отображаются в виде предупреждений.
В следующей таблице перечислены уровни ошибок.
Уровень ошибки | Description |
---|---|
0 | Наиболее серьезные проблемы сборки, которые препятствуют предварительному просмотру и развертыванию отчетов |
1 | Серьезные проблемы сборки, которые резко изменяют макет отчета |
2 | Менее серьезные проблемы сборки, которые значительно изменяют макет отчета |
3 | Незначительные проблемы сборки, изменяющие макет отчета незначительными способами, которые могут не быть заметными |
4 | Предупреждения о проблемах публикации |
Вы можете попытаться просмотреть или развернуть отчет, содержащий элементы отчета, которые не поддерживаются в вашей версии SSRS. Но эти элементы отчета иногда удаляются из отчета, и возникает ошибка уровня 2. Если для свойства ErrorLevel
задано значение по умолчанию 2, сборка завершается ошибкой в этом случае.
Эту проблему можно обойти, изменив ErrorLevel
значение на 0 или 1. Затем при удалении элемента выдается предупреждение, и процесс сборки продолжается.