Dela via


Rapportdefinitionsspråk (RDL)

GÄLLER FÖR: Power BI Report Builder Power BI Desktop

Rapportdefinitionsspråk (RDL) är en XML-representation av en sidnumrerad 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 som skapats för Power BI. Du kan lägga till egna anpassade funktioner för att styra rapportobjektets värden, format och formatering genom att komma åt kodblock i rapportdefinitionsfiler.

RDL främjar samverkan mellan kommersiella rapporteringsprodukter genom att definiera ett gemensamt schema som möjliggör utbyte av rapportdefinitioner. Alla protokoll eller programmatiska gränssnitt som fungerar med XML kan användas med RDL. RDL är:

  • Ett XML-schema för rapportdefinitioner.
  • Ett utbytesformat för företag och tredje part.
  • Ett utökningsbart och öppet schema som stöder ytterligare namnområden och anpassade element.

RDL-specifikationer

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

SCHEMAdefinition för RDL XML

RDL-filen (Report Definition Language) verifieras med hjälp av en XSD-fil (XML Schema Definition). Schemat definierar reglerna för var RDL-element kan förekomma i en .rdl-fil. Ett element innehåller dess datatyp och kardinalitet, dvs. antalet förekomster som tillåts. Ett element kan vara enkelt eller komplext. Ett enkelt element har inte underordnade element eller attribut. Ett komplext element har underordnade och eventuellt 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 som följer efter ordet Typ. 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.

Skapa RDL

På grund av RDL:s öppna och utökningsbara karaktär kan en mängd olika verktyg och program skapas som genererar RDL baserat på dess XML-schema.

Power BI Report Builder är det bästa sättet att skapa RDL-baserade sidnumrerade rapporter.

Ett av de enklaste sätten att generera RDL från ett program är att använda Microsoft .NET Framework-klasserna för System.Xml namnområdet och System.Linq namnområdet. En klass i synnerhet, klassen XmlTextWriter , kan användas 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. Utvecklare kan också utöka RDL genom att lägga till anpassade rapportobjekt med anpassade egenskaper. Mer information om klassen XmlTextWriter och System.Xml namnområdet finns i Microsoft .NET Framework Developer's Guide. Om du vill ha mer information om LINQ (Language-Integrated Query) söker du efter "LINQ to XML" på MSDN.

Standardfiltillägget för rapportdefinitionsfiler är .rdl. MIME-typen är text/xml.

RDL-typer

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

Typ Beskrivning
Binär En egenskap med ett base-64-kodat binärt värde.
Boolesk 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.
Datum En egenskap med ett fullständigt angivet datum- eller datetime-värde som anges i ISO8601 datumformat: ÅÅÅÅ-MM-DD[THH:MM[:SS[. S]]].
Räkna upp En egenskap med ett strängtextvärde som måste vara en av en lista med angivna värden.
Flyta En egenskap med ett flyttalvärde. En punkt (.) används som valfri decimalavgränsare.
Heltal En egenskap med ett heltalsvärde (int32).
Språk 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 strängtextvärde som har normaliserats.
Storlek Ett storlekselement måste innehålla ett tal (med ett periodtecken som används som en valfri decimalavgränsare). Talet måste följas av en designator för en CSS-längdenhet, till exempel cm, mm, in, pt eller pc. Ett blanksteg mellan talet och designatorn är valfritt. Mer information om storleksspecifika värden finns i CSS-värden och enhetsreferens.

I RDL är det maximala värdet för Storlek 160 in. Den minsta storleken är 0 in.
Sträng 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-uppräkning 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
Booleskt Booleskt
DateTime, DateTimeOffset Datum/tid
Int16, Int32, UInt16, Byte, SByte Integer
Enkel, dubbel Flyttal
Sträng, Tecken, GUID, Tidsintervall String