Rapportdefinitionsspråk (SSRS)

Report Definition Language (RDL) är en XML-representation av en SQL Server Reporting Services (SSRS) rapportdefinition. En rapportdefinition innehåller information om datahämtning och layout för en rapport. RDL består av XML-element som matchar en XML-grammatik skapad för Reporting Services. Du kan anpassa funktioner för att styra rapportvärden, stilar och formatering genom att komma åt kodsammansättningar i rapportdefinitionsfilerna.

RDL främjar samverkan mellan kommersiella rapporteringsprodukter genom att definiera ett gemensamt schema som möjliggör utbyte av rapportdefinitioner. RDL är:

  • Ett XML-schema för rapportdefinitioner.
  • Ett utbytesformat för företag och tredje part.
  • Ett utbyggbart och öppet schema som stödjer fler namnrymder och egna element.

Förutsättningar

Alla protokoll eller programmatiska gränssnitt som fungerar med XML kan användas med RDL.

RDL-specifikationer

Information om hur du laddar ned specifikationer för specifika schemaversioner finns i Språkspecifikation för rapportdefinition.

XML-schemadefinition för RDL

En SSRS RDL-fil valideras med hjälp av en XML Schema Definition (XSD)-fil. Schemat definierar reglerna för var RDL-element kan förekomma i en .rdl-fil. Ett element inkluderar sin datatyp och kardinalitet, vilket är antalet förekomster som är tillåtna. Ett element kan vara enkelt eller komplext. Ett enkelt element har inga barnelement eller attribut. Ett komplext element har underelement och kan ha attribut.

Schemat innehåller till exempel RDL-elementet ReportParameters, som är den komplexa typen ReportParametersType.

  • Enligt konvention är en komplex typ för ett element namnet på elementet följt av ordet Type.
  • Ett ReportParameters-element kan finnas i rapportelementet (en komplex typ) och kan innehålla ReportParameter-element.
  • En ReportParameterType är en enkel typ som bara kan vara ett av följande värden: Boolesk, DateTime, Heltal, Flyttal eller Sträng.

Mer information om XML-schemadatatyper finns i XML-schema del 2: Datatypes Second Edition.

RDL XSD finns tillgänglig i ReportDefinition.xsd-filen, som finns i mappen Extras på produktens CD-ROM. Den finns också tillgänglig på rapportservern via följande URL: https://servername/reportserver/reportdefinition.xsd.

Skapa RDL

Bygg verktyg och applikationer som genererar RDL baserat på deras XML-schema på grund av RDL:s öppna och utbyggbara natur.

Reporting Services erbjuder flera verktyg för att bygga RDL-filer. Mer information finns i Reporting Services-verktyg.

  • Generera RDL från en applikation genom att använda Microsoft .NET Framework-klasserna i System.Xml och System.Linq namnrymden.
  • Använd XmlTextWriter för att skriva RDL. Med XmlTextWriter kan du generera en fullständig rapportdefinition från början till slut i alla .NET Framework-program. För mer om XmlTextWriter-klassen och System.Xml namnrymden, se Microsoft .NET Framework Developer's Guide.

Utvecklare kan utöka RDL genom att lägga till anpassade rapportobjekt med egna egenskaper. För mer information om Language-Integrated Query (LINQ), sök på "LINQ to XML" på Microsoft Developer Network.

Standardfiländelsen för en rapportdefinitionsfil är .rdl. Du kan utveckla klientrapportdefinitionsfiler, som har filändelserna .rdlc. MIME-typen för båda tilläggen är text/xml. För mer information, se Reporting Services Reports (SSRS).

RDL-typer

I följande tabell visas typer som används i RDL-element och -attribut.

Type Description
Binär En egenskap med ett base-64-kodat binärt värde.
Boolean En egenskap med sant eller falskt som värdet för objektet. Om inget annat anges är värdet för ett utelämnat valfritt booleskt objekt Falskt.
Date En egenskap med ett fullständigt angivet datum- eller datetime-värde som anges i ISO8601 datumformat: ÅÅÅÅ-MM-DD[THH:MM[:SS[. S]]].
Enum En egenskap med ett strängtextvärde som måste vara en av en lista med angivna värden.
Float En egenskap med ett flyttalvärde. En punkt (.) används som valfri decimalavgränsare.
Heltal En egenskap med ett heltalsvärde (int32).
Language En egenskap med ett textvärde som innehåller en språk- och kulturkod, till exempel "en-us" för amerikansk engelska. Värdet måste antingen vara ett specifikt språk eller ett neutralt språk för vilket ett standardspråk definieras i Microsoft .NET Framework.
Namn En egenskap med ett strängtextvärde. Namn måste vara unika i objektets namnområde. Om det inte anges är namnområdet för ett objekt det innersta objekt som innehåller ett namn.
NormalizedString En egenskap med ett normaliserat textvärde för strängar.
Storlek Ett storlekselement måste innehålla ett tal med ett punkttecken som används som valfri decimalseparator. En beteckning för en CSS-längdenhet såsom cm, mm, in, pt eller pc måste följa numret. Ett blanksteg mellan talet och beteckningen är valfritt. För mer information, se CSS Values and Units Reference.

I RDL är det maximala värdet för Storlek 160 in. Den minsta storleken är 0 in.
String En egenskap med ett strängtextvärde.
OsigneradInt En egenskap med ett osignerat heltalsvärde (uint32).
Variant En egenskap med valfri enkel XML-typ.

RDL-datatyper

DataType Enumeration definierar datatypen för ett attribut, uttryck eller parameter i RDL. Följande tabell visar hur CLR-datatyper (Common Language Runtime) motsvarar RDL-datatyper.

CLR-typ(er) Motsvarande datatyp
Boolean Boolean
DateTime, DateTimeOffset DateTime
Int16, Int32, UInt16, Byte, SByte Integer
Enkel, Dubbel Flyta
Sträng, Tecken, GUID, Tidsintervall String