Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Язык определения отчетов — это средство представления определений отчетов служб SQL Server Службы Reporting Services в формате XML. Определение отчета содержит сведения о получении данных и о макете для отчета. Язык определения отчетов состоит из элементов XML, которые соответствуют грамматике XML, созданной для служб Службы Reporting Services. Предусмотрена возможность добавления пользовательских функций для управления значениями элементов отчета, стилями и форматированием путем обращения к сборкам кода в файлах определения отчета.
Применение языка определения отчетов способствует повышению уровня функциональной совместимости коммерческих продуктов формирования отчетов, поскольку позволяет определить общую схему, которая обеспечивает обмен определениями отчетов. Для работы с языком определения отчетов может использоваться любой протокол или программный интерфейс, применимый для XML. Язык определения отчетов представляет собой следующее.
Схему XML для определений отчетов.
Формат обмена для организаций и сторонних разработчиков.
Расширяемую и открытую схему, поддерживающую дополнительные пространства имен и пользовательские элементы.
Спецификации RDL
Описание загрузки спецификаций для конкретных версий схемы см. в разделе Спецификация языка определения отчетов.
Схема XML определения языка RDL
Файл SQL Server Службы Reporting Services в формате RDL (языка определения отчетов) проверяется с помощью файла определения схемы 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
Язык определения отчетов характеризуется открытостью и расширяемостью, поэтому обеспечивает возможность построения целого ряда средств и приложений, позволяющих создавать код на языке определения отчетов на основе схемы XML этого языка.
Службы Reporting Services предоставляет несколько средств для создания RDL-файлов. Дополнительные сведения см. в разделе Инструментальные средства служб Reporting Services.
Один из простейших способов создания кода на языке определения отчетов в приложении состоит в использовании классов Microsoft .NET Framework из пространств имен System.Xml и System.Linq. Особо следует отметить один из этих классов, XmlTextWriter , который может использоваться для написания кода на языке определения отчетов. Класс XmlTextWriterпозволяет создать полное определение отчета от начала до конца в любом приложении .NET Framework . Разработчикам предоставляется также возможность расширять язык определения отчетов, добавляя пользовательские элементы отчета с пользовательскими свойствами. Дополнительные сведения о классе XmlTextWriter и пространстве имен System.Xml см. в руководстве разработчика Microsoft .NET Framework. Дополнительные сведения о запросах LINQ можно получить, выполнив поиск строки «LINQ to XML» на узле MSDN.
Для файлов определения отчета стандартным расширением файла является RDL. Предусмотрена также возможность разрабатывать файлы определения клиентских отчетов, которые имеют расширения RDLC. Типом MIME для обоих расширений является text/xml. Дополнительные сведения об отчетах см. в разделе Reporting Services (SSRS), отчеты служб.
Типы RDL
Следующая таблица содержит список типов, используемых в элементах и атрибутах RDL.
Тип | Описание |
---|---|
Binary |
Свойство с закодированным в base-64 двоичным значением. |
Boolean |
Свойство объекта со значением true или false . Если иное не указано, то значением дополнительного объекта Boolean будет False . |
Date |
Свойство с полностью указанной датой или датой-временем в формате даты ISO8601: YYYY-MM-DD[THH:MM[:SS[.S]]]. |
Enum |
Свойство со строковым значением, которое может быть одним из списка определенных значений. |
Float |
Свойство со значением с плавающей точкой. Точка (.) используется как необязательный десятичный разделитель. |
Integer |
Свойство со значением целого типа (int32). |
Language |
Свойство с текстовым значением, которое содержит код языка и культуры, например «en-us» для американского варианта английского языка. Значение должно определять конкретный язык или нейтральный язык, для которого в Microsoft .NET Framework определен язык по умолчанию. |
Name |
Свойство со значением текстовой строки. Имена должны быть уникальны внутри пространства имен элемента. Если не указано, пространством имен для элемента считается самое внутреннее пространство имен, содержащее объект с именем. |
NormalizedString |
Свойство со значением текстовой строки, которое было нормализовано. |
Size |
Элемент размера должен содержать число (с символом запятой, используемым в качестве необязательного десятичного разделителя). За этим числом должен следовать указатель единицы измерения длины CSS (например: cm, mm, in, pt или pc). Пробел между числом и указателем является необязательным. Дополнительные сведения о единицах измерения см. в разделе Справочник по единицам длины CSS. В RDL максимальное значение Size равно 160 дюймам. Минимальный размер — 0 дюймов. |
String |
Свойство со значением текстовой строки. |
UnsignedInt |
Свойство со значением целого числа без знака (uint32). |
Variant |
Свойство со значением любого простого типа XML. |
Типы данных RDL
Перечисление DataType определяет тип данных атрибута, выражения или параметра в RDL. В следующей таблице показано соответствие типов данных CLR типам данных RDL.
Типы CLR | Соответствующий тип данных |
---|---|
Логический | Логическое |
DateTime, DateTimeOffset | Дата и время |
Int16, Int32, UInt16, Byte, SByte | Целое число |
Single, Double | Float |
String, Char, GUID, Timespan | Строка |
См. также:
Определение версии схемы определения отчета (SSRS)
Использование пользовательских сборок с отчетами
Пользовательские элементы отчета