Delen via


Report Definition Language (RDL)

VAN TOEPASSING OP: Power BI Report Builder Power BI Desktop

Report Definition Language (RDL) is een XML-weergave van een gepagineerde rapportdefinitie. Een rapportdefinitie bevat informatie over het ophalen en indelen van gegevens voor een rapport. RDL bestaat uit XML-elementen die overeenkomen met een XML-grammatica die is gemaakt voor Power BI. U kunt uw eigen aangepaste functies toevoegen voor het beheren van rapportitemwaarden, -stijlen en -opmaak door toegang te krijgen tot codeblokken in rapportdefinitiebestanden.

RDL bevordert de interoperabiliteit van commerciƫle rapportageproducten door een gemeenschappelijk schema te definiƫren dat de uitwisseling van rapportdefinities mogelijk maakt. Elke protocol- of programmatische interface die met XML werkt, kan worden gebruikt met RDL. RDL is:

  • Een XML-schema voor rapportdefinities.
  • Een uitwisselingsindeling voor bedrijven en derden.
  • Een uitbreidbaar en open schema dat ondersteuning biedt voor extra naamruimten en aangepaste elementen.

RDL-specificaties

Als u specificaties voor specifieke schemaversies wilt downloaden, raadpleegt u De specificatie van de rapportdefinitietaal.

RDL XML-schemadefinitie

Het RDL-bestand (Report Definition Language) wordt gevalideerd met behulp van een XSD-bestand (XML Schema Definition). Het schema definieert de regels voor waar RDL-elementen kunnen optreden in een RDL-bestand. Een element bevat het gegevenstype en de kardinaliteit, dat wil gezegd het aantal exemplaren dat is toegestaan. Een element kan eenvoudig of complex zijn. Een eenvoudig element heeft geen onderliggende elementen of kenmerken. Een complex element heeft onderliggende elementen en optioneel kenmerken.

Het schema bevat bijvoorbeeld het RDL-element ReportParameters, het complexe type ReportParametersType. Volgens de conventie is een complex type voor een element de naam van het element, gevolgd door het woord Type. Een ReportParameters-element kan worden opgenomen door het element Rapport (een complex type) en kan ReportParameter-elementen bevatten. Een ReportParameterType is een eenvoudig type dat slechts een van de volgende waarden kan zijn: Booleaanse waarde, DateTime, Integer, Float of String. Zie XML-schema deel 2: Datatypes Second Edition voor meer informatie over XML-schemagegevenstypen.

RDL maken

Vanwege de open en uitbreidbare aard van RDL kunnen verschillende hulpprogramma's en toepassingen worden gebouwd die RDL genereren op basis van het XML-schema.

Power BI Report Builder is de beste manier om gepagineerde rapporten op basis van RDL te maken.

Een van de eenvoudigste manieren om RDL te genereren vanuit een toepassing is het gebruik van de Microsoft .NET Framework-klassen van de System.Xml naamruimte en System.Linq naamruimte. Een klasse in het bijzonder, de klasse XmlTextWriter , kan worden gebruikt om RDL te schrijven. Met XmlTextWriter kunt u een volledige rapportdefinitie genereren van begin tot eind in elke .NET Framework-toepassing. Ontwikkelaars kunnen RDL ook uitbreiden door aangepaste rapportitems met aangepaste eigenschappen toe te voegen. Zie de ontwikkelaarshandleiding van Microsoft .NET Framework voor meer informatie over de xmlTextWriter-klasse en de System.Xml naamruimte. Zoek voor meer informatie over Language-Integrated Query (LINQ) op MSDN naar LINQ.

De standaardbestandsextensie voor rapportdefinitiebestanden is .rdl. Het MIME-type is tekst/xml.

RDL-typen

De volgende tabel bevat typen die worden gebruikt in RDL-elementen en -kenmerken.

Type Description
Binair Een eigenschap met een met base 64 gecodeerde binaire waarde.
Booleaanse waarde Een eigenschap met waar of onwaar als de waarde van het object. Tenzij anders opgegeven, is de waarde van een weggelaten optioneel Booleaanse object Onwaar.
Datum Een eigenschap met een volledig opgegeven datum- of datum/tijdwaarde die is opgegeven in ISO8601 datumnotatie: JJJJ-MM-DD[THH:MM[:SS[. S]]].
Opsomming Een eigenschap met een tekenreekstekstwaarde die een van een lijst met aangewezen waarden moet zijn.
Drijven Een eigenschap met een float-waarde. Een punt (.) wordt gebruikt als het optionele decimaalteken.
Geheel getal Een eigenschap met een geheel getalwaarde (int32).
Taal Een eigenschap met een tekstwaarde die een taal- en cultuurcode bevat, zoals 'en-us' voor Amerikaans Engels. De waarde moet een specifieke taal of een neutrale taal zijn waarvoor een standaardtaal is gedefinieerd in Microsoft .NET Framework.
Naam Een eigenschap met een tekenreekstekstwaarde. Namen moeten uniek zijn binnen de naamruimte van het item. Als dit niet is opgegeven, is de naamruimte voor een item het binnenste object met een naam.
NormalizedString Een eigenschap met een tekenreekstekstwaarde die is genormaliseerd.
Grootte Een grootteelement moet een getal bevatten (met een puntteken dat wordt gebruikt als een optioneel decimaalteken). Het getal moet worden gevolgd door een ontwerpator voor een CSS-lengteeenheid, zoals cm, mm, in, pt of pc. Een spatie tussen het getal en de ontwerpaar is optioneel. Zie DE naslaginformatie over CSS-waarden en -eenheden voor meer informatie over maatontwerpen.

In RDL is de maximumwaarde voor Grootte 160 in. De minimale grootte is 0 in.
Tekenreeks Een eigenschap met een tekenreekstekstwaarde.
UnsignedInt Een eigenschap met een niet-ondertekende geheel getalwaarde (uint32).
Variant Een eigenschap met elk eenvoudig XML-type.

RDL-gegevenstypen

De opsomming DataType definieert het gegevenstype van een kenmerk, expressie of parameter in RDL. In de volgende tabel ziet u hoe clr-gegevenstypen (Common Language Runtime) overeenkomen met RDL-gegevenstypen.

CLR-type(en) Bijbehorend gegevenstype
Booleaanse waarde Booleaanse waarde
DateTime, DateTimeOffset Datum en tijd
Int16, Int32, UInt16, Byte, SByte Geheel getal
Enkel, dubbel Float
Tekenreeks, teken, GUID, tijdspanne String