Partilhar via


Linguagem de Definição de Relatório (RDL)

APLICA-SE A: Power BI Report Builder Power BI Desktop

A linguagem RDL (Report Definition Language) é uma representação XML de uma definição de relatório paginada. Uma definição de relatório contém informações de recuperação de dados e layout para um relatório. RDL é composto de elementos XML que correspondem a uma gramática XML criada para o Power BI. Você pode adicionar suas próprias funções personalizadas para controlar valores, estilos e formatação de itens de relatório acessando blocos de código em arquivos de definição de relatório.

O RDL promove a interoperabilidade de produtos de relatórios comerciais definindo um esquema comum que permite o intercâmbio de definições de relatório. Qualquer protocolo ou interface programática que funcione com XML pode ser usado com RDL. RDL é:

  • Um esquema XML para definições de relatório.
  • Um formato de intercâmbio para empresas e terceiros.
  • Um esquema extensível e aberto que suporta namespaces adicionais e elementos personalizados.

Especificações RDL

Para baixar especificações para versões específicas do esquema, consulte Especificação da linguagem de definição de relatório.

Definição de esquema XML RDL

O arquivo RDL (Report Definition Language) é validado usando um arquivo XSD (XML Schema Definition). O esquema define as regras para onde os elementos RDL podem ocorrer em um arquivo .rdl. Um elemento inclui seu tipo de dados e cardinalidade, ou seja, o número de ocorrências permitidas. Um elemento pode ser simples ou complexo. Um elemento simples não tem elementos filho ou atributos. Um elemento complexo tem filhos e, opcionalmente, atributos.

Por exemplo, o esquema inclui o elemento RDL ReportParameters, que é o tipo complexo ReportParametersType. Por convenção, um tipo complexo para um elemento é o nome do elemento seguido pela palavra Type. Um elemento ReportParameters pode ser contido pelo elemento Report (um tipo complexo) e pode conter elementos ReportParameter. Um ReportParameterType é um tipo simples que só pode ser um dos seguintes valores: Boolean, DateTime, Integer, Float ou String. Para obter mais informações sobre tipos de dados do esquema XML, consulte Esquema XML Parte 2: Datatypes Second Edition.

Criando RDL

Devido à natureza aberta e extensível do RDL, uma variedade de ferramentas e aplicativos podem ser criados para gerar RDL com base em seu esquema XML.

O Construtor de Relatórios do Power BI é a maneira preferida de criar relatórios paginados baseados em RDL.

Uma das maneiras mais fáceis de gerar RDL a partir de um aplicativo é usar as classes do Microsoft .NET Framework do namespace e System.Linq namespaceSystem.Xml. Uma classe em particular, a classe XmlTextWriter , pode ser usada para escrever RDL. Com XmlTextWriter, você pode gerar uma definição de relatório completa do início ao fim em qualquer aplicativo .NET Framework. Os desenvolvedores também podem estender o RDL adicionando itens de relatório personalizados com propriedades personalizadas. Para obter mais informações sobre a classe XmlTextWriter e o namespace, consulte o System.Xml Guia do desenvolvedor do Microsoft .NET Framework. Para obter mais informações sobre LINQ (Language-Integrated Query), procure "LINQ to XML" no MSDN.

A extensão de arquivo padrão para arquivos de definição de relatório é .rdl. O tipo MIME é text/xml.

Tipos de RDL

A tabela a seguir lista os tipos usados em elementos e atributos RDL.

Type Description
Binário Uma propriedade com um valor binário codificado em base 64.
Booleano Uma propriedade com true ou false como o valor do objeto. A menos que especificado de outra forma, o valor de um objeto booleano opcional omitido é False.
Date Uma propriedade com um valor de data ou data/hora totalmente especificado especificado no formato de data ISO8601: AAAA-MM-DD[THH:MM[:SS[. S]]].
Enum Uma propriedade com um valor de texto de cadeia de caracteres que deve ser um de uma lista de valores designados.
Flutuador Uma propriedade com um valor float. Um ponto (.) é usado como separador decimal opcional.
Inteiro Uma propriedade com um valor inteiro (int32).
Idioma Uma propriedade com um valor de texto que contém um código de idioma e cultura, como "en-us" para inglês dos EUA. O valor deve ser uma linguagem específica ou uma linguagem neutra para a qual uma linguagem padrão é definida no Microsoft .NET Framework.
Nome Uma propriedade com um valor de texto de cadeia de caracteres. Os nomes devem ser exclusivos dentro do namespace do item. Se não for especificado, o namespace de um item é o objeto que contém mais interno que tem um nome.
NormalizedString Uma propriedade com um valor de texto de cadeia de caracteres que foi normalizado.
Tamanho Um elemento size deve conter um número (com um caractere de ponto usado como separador decimal opcional). O número deve ser seguido por um designador para uma unidade de comprimento CSS, como cm, mm, in, pt ou pc. Um espaço entre o número e o designador é opcional. Para obter mais informações sobre designadores de tamanho, consulte Valores CSS e referência de unidades.

Em RDL, o valor máximo para Tamanho é 160 pol. O tamanho mínimo é 0 pol.
Cadeia Uma propriedade com um valor de texto de cadeia de caracteres.
UnsignedInt Uma propriedade com um valor inteiro não assinado (uint32).
Variante Uma propriedade com qualquer tipo XML simples.

Tipos de dados RDL

A enumeração DataType define o tipo de dados de um atributo, expressão ou parâmetro em RDL. A tabela a seguir mostra como os tipos de dados CLR (Common Language Runtime) correspondem aos tipos de dados RDL.

Tipo(s) CLR Tipo de dados correspondente
Boolean Boolean
DateTime, DateTimeOffset DateTime
Int16, Int32, UInt16, Byte, SByte Número inteiro
Individual, Duplo Float
String, Char, GUID, Timespan String