Freigeben über


Berichtsdefinitionssprache (Report Definition Language, RDL) (SSRS)

Die Berichtsdefinitionssprache (Report Definition Language, RDL) ist eine XML-Darstellung einer SQL Server Reporting Services-Berichtsdefinition. In einer Berichtsdefinition sind Informationen zum Datenabruf und Datenlayout für einen Bericht enthalten. RDL besteht aus XML-Elementen, die der für Reporting Servicesentwickelten XML-Grammatik entsprechen. Sie können Ihre eigenen benutzerdefinierten Funktionen zum Steuern von Berichtselementwerten, ‑stilen und ‑formatierungen hinzufügen, indem Sie auf Code-Assemblys in Berichtsdefinitionsdateien zugreifen.

RDL fördert die Interoperabilität von kommerziellen Produkten zur Berichterstellung durch die Definition eines allgemeinen Schemas, das den Austausch von Berichtsdefinitionen ermöglicht. Alle Protokolle und alle programmgesteuerten Schnittstellen, die mit XML funktionieren, können mit RDL verwendet werden. RDL ist:

  • ein XML-Schema für Berichtsdefinitionen

  • ein Austauschformat für Unternehmen und Drittanbieter

  • Ein erweiterbares und offenes Schema, das zusätzliche Namespaces und benutzerdefinierte Elemente unterstützt.

RDL-Spezifikationen

Informationen zum Herunterladen von Spezifikation für bestimmte Schemaversionen finden Sie im Thema zum Angeben der Berichtsdefinitionssprache.

RDL-XML-Schemadefinition

Eine SQL Server Reporting Services Report Definition Language (RDL)-Datei wird mithilfe einer XML-Schemadefinitionsdatei (XSD) überprüft. Das Schema definiert die Regeln dafür, wo RDL-Elemente in einer RDL-Datei auftreten können. Ein Element enthält den Datentyp und die Kardinalität, d. h. die Anzahl der zulässigen Vorkommen. Ein Element kann einfach oder komplex sein. Ein einfaches Element verfügt nicht über untergeordnete Elemente oder Attribute. Ein komplexes Element verfügt über untergeordnete elemente und optional Attribute.

Das Schema enthält z. B. das RDL-Element ReportParameters, das den komplexen Typ ReportParametersTypedarstellt. In der Konvention ist ein komplexer Typ für ein Element der Name des Elements, das dem Wort Typefolgt. Ein ReportParameters-Element kann in einem Report-Element (einem komplexen Typ) enthalten sein und ReportParameter-Elemente enthalten. A ReportParameterType ist ein einfacher Typ, der nur einen der folgenden Werte aufweisen kann: Boolean, , DateTime, , Integer, Floatoder String. Weitere Informationen zu XML-Schema-Datentypen finden Sie unter XML Schema Part 2: Datatypes Second Edition.

Die RDL-XSD steht in der Datei "ReportDefinition.xsd" zur Verfügung, die sich im Ordner "Extras" auf der Produkt-CD-ROM befindet. Sie ist auch über die folgende URL auf dem Berichtsserver verfügbar: https://servername/reportserver/reportdefinition.xsd.

Erstellen von RDL

Aufgrund der offenen und erweiterbaren Art von RDL können verschiedene Tools und Anwendungen erstellt werden, die RDL basierend auf ihrem XML-Schema generieren.

Reporting Services bietet mehrere Tools, mit denen Sie RDL-Dateien erstellen können. Weitere Informationen finden Sie unter Reporting Services-Tools.

Eine der einfachsten Methoden zum Generieren von RDL aus einer Anwendung besteht darin, die Microsoft .NET Framework-Klassen des System.Xml Namespaces und System.Linq Namespaces zu verwenden. Eine Klasse, insbesondere die XmlTextWriter-Klasse , kann zum Schreiben von RDL verwendet werden. Mit XmlTextWriterkönnen Sie eine vollständige Berichtsdefinition in jeder .NET Framework -Anwendung von Grund auf erstellen. Entwickler können RDL auch erweitern, indem benutzerdefinierte Berichtselemente mit benutzerdefinierten Eigenschaften hinzugefügt werden. Weitere Informationen zur XmlTextWriter-Klasse und zum System.Xml Namespace finden Sie im Microsoft .NET Framework Developer's Guide. Weitere Informationen zu Language-Integrated-Abfragen (LINQ) finden Sie, indem Sie auf MSDN nach "LINQ to XML" suchen.

Die Standarddateierweiterung für Berichtsdefinitionsdateien ist RDL. Sie können auch Clientberichtdefinitionsdateien entwickeln, die mit der Dateierweiterung .rdlc versehen sind. Der MIME-Typ für beide Erweiterungen ist text/XML. Weitere Informationen zu Berichten finden Sie unter Reporting Services Reports (SSRS).For more information about reports, see Reporting Services Reports (SSRS).

RDL-Typen

Die folgenden Tabelle führt die in RDL-Elementen und Attributen verwendete Typen auf.

Typ BESCHREIBUNG
Binary Eine Eigenschaft mit einem Base-64-codierten Binärwert.
Boolean Eine Eigenschaft mit true oder false als Wert des Objekts. Sofern nicht anders angegeben, lautet Falseder Wert eines ausgelassenen optionalen booleschen Objekts.
Date Eine Eigenschaft mit einem vollständigen date- oder datetime-Wert, der im ISO8601-Datumsformat angegeben ist: JJJJ-MM-TT[THH:MM[:SS[.S]]]
Enum Eine Eigenschaft mit einem Zeichenfolgen-Textwert, der einem Wert aus einer Liste mit angegebenen Werten entsprechen muss
Float Eine Eigenschaft mit einem Gleitkommawert. Als optionales Dezimaltrennzeichen wird ein Punkt (.) verwendet.
Integer Eine Eigenschaft mit einem ganzzahligen (int32) Wert
Language Eine Eigenschaft mit einem Textwert, der einen Sprach- und Kulturcode enthält, z. B. "en-us" für Englisch (USA). Der Wert muss entweder eine bestimmte Sprache oder eine neutrale Sprache angeben, für die eine Standardsprache im Microsoft .NET Framework definiert ist.
Name Eine Eigenschaft mit einem Zeichenfolgen-Textwert Namen müssen innerhalb des Namespaces des Elements eindeutig sein. Ist der Namespace nicht angegeben, entspricht er dem innersten enthaltenden Objekt, das über einen Namen verfügt.
NormalizedString Eine Eigenschaft mit einem Zeichenfolgentextwert, der normalisiert wurde.
Size Ein Größenelement muss eine Zahl enthalten (wobei ein Punkt als optionales Dezimaltrennzeichen verwendet wird). Auf die Zahl muss ein Kennzeichner für eine CSS-Längeneinheit wie cm, mm, in, pt oder pc folgen. Ein Leerzeichen zwischen der Zahl und dem Kennzeichner ist optional. Weitere Informationen zu Größendesignatoren finden Sie unter CSS Length Units Reference.

In RDL beträgt der Maximalwert Size 160 Zoll. Die minimale Größe beträgt 0 Zoll.
String Eine Eigenschaft mit einem Zeichenfolgen-Textwert
UnsignedInt Eine Eigenschaft mit einem ganzzahligen Wert (uint32) ohne Vorzeichen
Variant Eine Eigenschaft mit einem beliebigen einfachen XML-Typ.

RDL-Datentypen

Die DataType-Aufzählung definiert den Datentyp eines Attributs, ausdrucks oder Parameters in RDL. Die folgende Tabelle zeigt die Zuordnung von CLR-Datentypen (Common Language Runtime) zu RDL-Datentypen.

CLR-Typ(en) Entsprechender Datentyp
Boolescher Typ (Boolean) Boolescher Typ (Boolean)
DateTime, DateTimeOffset Datum/Uhrzeit
Int16, Int32, UInt16, Byte, SByte Ganze Zahl
Einzelzimmer, Doppelzimmer Schweben
String, Char, GUID, Timespan Schnur

Siehe auch

Suchen der Berichtsdefinitionsschemaversion (SSRS)
Verwenden benutzerdefinierter Assemblys mit Berichten
Custom Report Items (Benutzerdefinierte Berichtselemente)