Condividi tramite


Report Definition Language (RDL)

SI APPLICA A: Power BI Report Builder Power BI Desktop

Report Definition Language (RDL) è una rappresentazione XML di una definizione di report impaginata. Una definizione di report contiene il recupero dati e le informazioni sul layout per un report. RDL è costituito da elementi XML che corrispondono a una grammatica XML creata per Power BI. È possibile aggiungere funzioni personalizzate per controllare i valori, gli stili e la formattazione degli elementi del report accedendo ai blocchi di codice all'interno dei file di definizione del report.

RDL promuove l'interoperabilità di prodotti per la creazione di report commerciali mediante la definizione di un schema comune che consente lo scambio di definizioni dei report. Con RDL è possibile utilizzare qualsiasi protocollo o interfaccia programmatica appropriato per XML. RDL consiste in:

  • XML Schema per le definizioni dei report.
  • Un formato di interscambio per aziende e terze parti.
  • Uno schema estensibile e aperto che supporta spazi dei nomi aggiuntivi ed elementi personalizzati.

Specifiche RDL

Per scaricare le specifiche per versioni dello schema specifiche, vedere Specifica del linguaggio RDL.

RDL XML Schema Definition.

Un file RDL (Report Definition Language)   viene convalidato tramite un file XSD (XML Schema Definition). Lo schema definisce le regole relative alla posizione degli elementi RDL in un file rdl. Un elemento include il tipo di dati e la cardinalità, ovvero il numero di occorrenze consentite. Un elemento può essere semplice o complesso. Un elemento semplice non dispone di attributi o elementi figlio. Un elemento complesso dispone di elementi figlio e, facoltativamente, di attributi.

Ad esempio, lo schema seguente include l'elemento RDL ReportParametersche è il tipo complesso ReportParametersType. Per convenzione, un tipo complesso per un elemento è il nome dell'elemento seguito dalla parola Type. Un elemento ReportParameters può essere contenuto dall'elemento Report (un tipo complesso) e contenere elementi ReportParameter . Un ReportParameterType è un tipo semplice che può essere solo uno dei seguenti valori: Boolean, DateTime, Integer, Floato String. Per altre informazioni sui tipi di dati dell'elemento XML Schema, vedere XML Schema Parte 2: Tipi di dati Seconda edizione.

Creazione di RDL

La natura aperta ed estensibile di RDL consente di compilare una varietà di strumenti e applicazioni per la generazione di codice RDL in base al relativo XML Schema.

Power BI Report Builder è il modo migliore per creare report impaginati basati su RDL.

Uno dei modi più semplici per generare codice RDL da un'applicazione consiste nell'usare le classi Microsoft .NET Framework dello spazio dei nomi System.Xml e dello spazio dei nomi System.Linq. In particolare, la classe XmlTextWriter può essere usata per scrivere codice RDL. Con XmlTextWriterè possibile generare una definizione di report completa in qualsiasi applicazione .NET Framework. Gli sviluppatori possono inoltre estendere il linguaggio RDL aggiungendo elementi del report personalizzati con proprietà personalizzate. Per altre informazioni sulla classe XmlTextWriter e sullo spazio dei nomi System.Xml, vedere la Guida per gli sviluppatori di Microsoft .NET Framework. Per ulteriori informazioni su LINQ (Language-Integrated Query), cercare "LINQ to XML" in MSDN.

L'estensione di file standard per i file di definizione dei report è rdl. Il tipo MIME è text/xml.

Tipi RDL

Nella tabella seguente vengono elencati i tipi utilizzati negli elementi e negli attributi RDL.

Tipo Descrizione
Binario Proprietà con valore binario codificato in base 64.
Booleano Proprietà con true o false come valore dell'oggetto. Se non diversamente specificato, il valore di un oggetto booleano facoltativo omesso è False.
Data Proprietà con un valore di data o ora specificato per intero nel formato di data ISO8601: AAAA-MM-GG[THH:MM[:SS[.S]]].
Enum Proprietà con un valore di testo stringa che deve essere presente in un elenco di valori designati.
Float Proprietà con un valore float. La virgola (,) viene utilizzata come separatore decimale facoltativo.
Integer Proprietà con un valore intero (int32).
Lingua Proprietà con un valore di testo che contiene un codice di lingua e di paese, ad esempio en-us per Inglese (Stati Uniti). Il valore deve essere una lingua specifica o neutra per la quale è definita una lingua predefinita in Microsoft .NET Framework.
Nome Proprietà con un valore di testo stringa. I nomi devono essere univoci nello spazio dei nomi dell'elemento. Se non viene specificato, lo spazio dei nomi per un elemento è l'oggetto contenitore più interno con un nome.
NormalizedString Proprietà con un valore di testo stringa normalizzato.
Dimensione Un elemento Size deve contenere un numero, con un carattere punto (.) utilizzato come un separatore decimale facoltativo. Il numero deve essere seguito da un identificatore per un'unità di lunghezza CSS, ad esempio cm, mm, in, pt o pc. La presenza di uno spazio tra il numero e l'identificatore è facoltativa. Per altre informazioni sugli identificatori della proprietà Size, vedere CSS Values and Units Reference (Informazioni di riferimento sui valori e le unità CSS).

In RDL, il valore massimo per Size è 406,4 cm. La dimensione minima è 0 cm.
Stringa Proprietà con un valore di testo stringa.
UnsignedInt Proprietà con un valore intero (uint32) senza segno.
Variant Proprietà con qualsiasi tipo XML semplice.

Tipi di dati RDL

L'enumerazione DataType definisce il tipo di dati di un attributo, di un'espressione o di un parametro in RDL. Nella tabella seguente viene illustrato come i tipi di dati Common Language Runtime (CLR) corrispondono ai tipi di dati RDL.

Tipi CLR Tipo di dati corrispondente
Booleano Booleano
DateTime, DateTimeOffset Data/Ora
Int16, Int32, UInt16, Byte, SByte Intero
Single, Double Float
String, Char, GUID, Timespan String