Язык определения отчетов (SSRS)
Язык определения отчетов (RDL) — это XML-представление определения отчета SQL Server Reporting Services (SSRS). Определение отчета содержит сведения о получении данных и о макете для отчета. RDL состоит из XML-элементов, которые соответствуют грамматике XML, созданной для служб Reporting Services. Вы можете настроить функции для управления значениями элементов отчета, стилями и форматированием, доступом к сборкам кода в файлах определения отчета.
Применение языка определения отчетов способствует повышению уровня функциональной совместимости коммерческих продуктов формирования отчетов, поскольку позволяет определить общую схему, которая обеспечивает обмен определениями отчетов. Язык определения отчетов представляет собой следующее.
- Схему XML для определений отчетов.
- Формат обмена для организаций и сторонних разработчиков.
- Расширяемая и открытая схема, которая поддерживает больше пространств имен и пользовательских элементов.
Необходимые компоненты
Для работы с языком определения отчетов может использоваться любой протокол или программный интерфейс, применимый для XML.
Спецификации RDL
Описание загрузки спецификаций для конкретных версий схемы см. в разделе Спецификация языка определения отчетов.
Схема XML определения языка RDL
RDL-файл SSRS проверяется с помощью файла определения схемы XML (XSD). Схема определяет правила применения элементов языка определения отчетов в RDL-файле. Элемент включает его тип данных и кратность, что является числом допустимых вхождений. Элементы бывают простыми и составными. Простой элемент не имеет дочерних элементов или атрибутов. Сложный элемент имеет дочерние элементы и может иметь атрибуты.
Например, следующая схема включает элемент ReportParametersна языке определения отчетов, имеющий сложный тип ReportParametersType.
- По соглашению сложный тип элемента — это имя элемента, за которым следует слово Type.
- Элемент ReportParameters может входить в элемент Report (сложного типа) и в свою очередь содержать элементы ReportParameter .
- ReportParameterType — это простой тип, который может принимать только одно из следующих значений: Boolean, DateTime, Integer, Floatили String.
Дополнительные сведения о типах данных схем XML см. в статье XML Schema Part 2: Datatypes Second Edition(Схема XML, часть 2. Типы данных, второе издание).
Схема XSD для языка определения отчетов доступна в файле ReportDefinition.xsd, расположенном в папке Extras на компакт-диске продукта. Он также доступен на сервере отчетов по следующему URL-адресу: https://servername/reportserver/reportdefinition.xsd
Создание RDL
Создание средств и приложений, которые создают RDL на основе схемы XML из-за открытой и расширяемой природы RDL.
Службы Reporting Services предоставляют несколько средств для создания файлов RDL. Дополнительные сведения см. в разделе Инструментальные средства служб Reporting Services.
- Создайте RDL из приложения с помощью классов System.Xml Microsoft платформа .NET Framework пространств имен и System.Linq пространств имен.
- Используйте XmlTextWriter для записи RDL. С помощью XmlTextWriter можно создать полное определение отчета от начала до конца в любом приложении платформа .NET Framework. Дополнительные сведения о классе XmlTextWriter и System.Xml пространстве имен см. в руководстве разработчика Microsoft платформа .NET Framework.
Разработчики могут расширить RDL, добавив настраиваемые элементы отчета с настраиваемыми свойствами. Дополнительные сведения о языковом интегрированном запросе (LINQ) выполните поиск по запросу LINQ to XML в сети разработчиков Майкрософт.
Стандартное расширение файла определения отчета — RDL. Вы можете разрабатывать файлы определения клиентских отчетов, которые имеют расширения rdlc. Типом MIME для обоих расширений является text/xml. Дополнительные сведения см. в отчетах служб Reporting Services (SSRS).
Типы RDL
Следующая таблица содержит список типов, используемых в элементах и атрибутах RDL.
Типы данных RDL
Перечисление DataType определяет тип данных атрибута, выражения или параметра в RDL. В следующей таблице показано соответствие типов данных CLR типам данных RDL.
Типы CLR | Соответствующий тип данных |
---|---|
Логический | Логический |
DateTime, DateTimeOffset | Дата/время |
Int16, Int32, UInt16, Byte, SByte | Целое |
Single, Double | Тип с плавающей запятой |
String, Char, GUID, Timespan | Строка |