Partilhar via


Exportar relatório paginado do Power BI para XML (Construtor de Relatórios do Power BI)

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

A extensão de renderização XML retorna um relatório paginado do Power BI no formato XML. O esquema para o XML do relatório é específico para o relatório e contém apenas dados. As informações de layout não são renderizadas e a paginação não é mantida pela extensão de renderização XML. O XML gerado por essa extensão pode ser importado para um banco de dados, usado como uma mensagem de dados XML ou enviado para um aplicativo personalizado.

Nota

Você pode criar e modificar arquivos de definição de relatório paginado (.rdl) no Construtor de Relatórios do Power BI.

Itens de relatório

A tabela a seguir descreve como os itens de relatório são renderizados.

Item Comportamento de renderização
Relatório Renderiza como o elemento de nível superior do documento XML.
Regiões de dados Renderiza como um elemento dentro do elemento para seu contêiner. As regiões de dados incluem tabela, matriz e lista que exibem dados como texto e gráfico, barras de dados, minigráficos, medidores e indicadores que visualizam dados.
Seções de grupo e detalhes Cada instância é renderizada como um elemento dentro do elemento para seu contêiner.
Text box Renderiza como um atributo ou elemento dentro de seu contêiner.
Retângulo Renderiza como um elemento dentro de seu contêiner.
Grupos de colunas de matriz Renderiza como elementos dentro de grupos de linhas.
Mapa Renderiza como um elemento dentro do elemento para seu contêiner. As camadas de mapa são elementos filho do mapa e cada camada de mapa inclui elementos para seus membros do mapa e atributos de membro do mapa.
Gráfico Renderiza como um elemento dentro do elemento para seu contêiner. As séries são elementos filho do gráfico e as categorias são elementos filho de uma série. Renderiza todos os rótulos de gráfico para cada valor de gráfico. Rótulos e valores são incluídos como atributos.
Barra de dados Renderiza como um elemento dentro do elemento para seu contêiner, semelhante a um gráfico. Normalmente, uma barra de dados não inclui hierarquias ou rótulos, apenas valores.
Gráfico Sparkline Renderiza como um elemento dentro do elemento para seu contêiner, semelhante a um gráfico. Normalmente, um minigráfico não inclui hierarquias ou rótulos, apenas valores.
Medidor Renderiza como um elemento dentro do elemento para seu contêiner. Renderiza como um único elemento com os valores mínimo e máximo da escala, valores iniciais e finais do intervalo e o valor do ponteiro como atributos.
Indicador Renderiza como um elemento dentro do elemento para seu contêiner, semelhante a um medidor. Renderiza como um único elemento com o nome do estado ativo, estados disponíveis e o valor de dados como atributos.

Os relatórios que são renderizados usando a extensão de renderização XML também seguem estas regras:

  • Os elementos e atributos XML são renderizados na ordem em que aparecem na definição de relatório.

  • A paginação é ignorada.

  • Os cabeçalhos e rodapés das páginas não são renderizados.

  • Os itens ocultos que não podem ser tornados visíveis por alternância não são renderizados. Inicialmente, os itens visíveis e os itens ocultos que podem ser tornados visíveis por meio de uma alternância são renderizados.

  • Imagens, linhas e itens de relatório personalizados são ignorados.

Tipos de dados

O elemento ou atributo da caixa de texto recebe um tipo de dados XSD com base nos valores que a caixa de texto exibe.

Se todos os valores da caixa de texto forem O tipo de dados atribuído é
Int16, Int32, Int64, UInt16, UInt32, UInt64, Byte, SByte xsd:inteiro
Decimal (ou Decimal e qualquer tipo de dados inteiro ou byte) xsd:decimal
Float (ou Decimal e qualquer tipo de dados inteiro ou byte) xsd:flutuar
Duplo (ou decimal e qualquer tipo de dados inteiro ou byte) xsd: duplo
Deslocamento DateTime ou DateTime xsd:dateTime
Tempo xsd:string
Booleano xsd:booleano
Corda, Char xsd:string
Outro xsd:string

Regras de renderização específicas de XML

As seções a seguir descrevem como as extensões de renderização XML interpretam os itens dentro do relatório.

Corpo do relatório

Um relatório é renderizado como o elemento raiz do documento XML. O nome do elemento vem da propriedade DataElementName definida no painel Propriedades.

As definições de namespace XML e os atributos de referência de esquema também são incluídos no elemento de relatório. As variáveis são anotadas em negrito tipo de face:

<Relatório xmlns="SchemaName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="SchemaNameReportURL&rc%3aSchema=true" Name="ReportName">

Os valores para as variáveis são os seguintes:

Nome Valor
Relatório Report.DataElementName
ReportURL URLEncoded URL absoluto para o relatório no servidor.
SchemaName Report.SchemaName. Se null, então Report.Name. Se Report.Name for usado, ele primeiro será codificado com XmlConvert.EncodeLocalName.
Nome do Relatório O nome do relatório.

Caixas de texto

As caixas de texto são renderizadas como elementos ou atributos de acordo com a propriedade RDL DataElementStyle. O nome do elemento ou atributo vem da propriedade RDL TextBox.DataElementName.

Gráficos, barras de dados e minigráficos

Gráficos, barras de dados e minigráficos são renderizados em XML. Os dados são estruturados.

Manómetros e indicadores

Medidores e indicadores são renderizados em XML. Os dados são estruturados.

Sub-relatórios

Um sub-relatório é renderizado como um elemento. O nome do elemento é retirado da propriedade RDL DataElementName. A configuração da propriedade TextBoxesAsElements do relatório substitui a do sub-relatório. Os atributos Namespace e XSLT não são adicionados ao elemento de sub-relatório.

Retângulos

Um retângulo é renderizado como um elemento. O nome do elemento é retirado da propriedade RDL DataElementName.

Itens de relatório personalizados

CustomReportItems (CRI) não são visíveis para a extensão de renderização. Se existir um item de relatório personalizado no relatório, a extensão de renderização o renderizará como um item de relatório convencional.

Imagens

As imagens não são renderizadas.

Linhas

As linhas não são renderizadas.

Tabelas, matrizes e listas

Tabelas, matrizes e listas são renderizadas como um elemento. O nome do elemento vem da propriedade RDL Tablix DataElementName.

Linhas e colunas

As colunas são renderizadas dentro de linhas.

Cantinho Tablix

O canto não é renderizado. Apenas o conteúdo do canto é renderizado.

Células Tablix

As células Tablix são renderizadas como elementos. O nome do elemento é retirado da propriedade RDL DataElementName da célula.

Subtotais automáticos

Os subtotais automáticos do Tablix não são renderizados.

Itens de linha e coluna que não se repetem com um grupo

Os itens que não se repetem com um grupo, como rótulos, subtotais e totais, são renderizados como elementos. O nome do elemento vem da propriedade RDL TablixMember.DataElementName.

A propriedade RDL TablixMember.DataElementOutput controla se um item não repetitivo é renderizado.

Se a propriedade DataElementName do membro Tablix não for fornecida, um nome para o item não repetitivo será gerado dinamicamente neste formulário:

RowX Para linhas não repetitivas, em que X é um índice de linha baseado em zero dentro do pai atual.

ColumnY Para colunas não repetitivas, onde Y ix um índice de coluna baseado em zero dentro do pai atual.

Um cabeçalho não repetitivo é renderizado como um filho da linha ou coluna que não se repete com um grupo.

Se um membro não repetitivo não tiver células Tablix correspondentes, ele não será renderizado. Isto pode ocorrer no caso de uma célula Tablix em que se estende por mais do que uma coluna.

Linhas e colunas que se repetem com um grupo

As linhas e colunas que se repetem dentro de um grupo são renderizadas de acordo com as regras Tablix.DataElementOutput. O nome do elemento é retirado da propriedade DataElementName.

Cada valor exclusivo dentro de um grupo é renderizado como um elemento filho do grupo. O nome do elemento é retirado da propriedade Group.DataElementName.

Se o valor da propriedade DataElementOutput for igual a Output, o cabeçalho de um item repetitivo será renderizado como filho do elemento detail.

Formatos personalizados e transformações XSL

Os arquivos XML produzidos pela extensão de renderização XML podem ser transformados em praticamente qualquer formato usando transformações XSL (XSLT). Essa funcionalidade pode ser usada para produzir dados em formatos ainda não suportados por extensões de renderização existentes. Considere usar a extensão de renderização XML e XSLT antes de tentar criar sua própria extensão de renderização.

Nomes duplicados

Se houver nomes de elementos de dados duplicados dentro do mesmo escopo, o renderizador exibirá uma mensagem de erro.

Transformações XSLT

O renderizador XML pode aplicar uma transformação XSLT do lado do servidor aos dados XML originais. Quando um XSLT é aplicado, o renderizador produz o conteúdo transformado em vez dos dados XML originais. A transformação ocorre no servidor, não no cliente.

O XSLT a ser aplicado à saída é definido no arquivo de definição de relatório com a propriedade DataTransform do relatório ou com o parâmetro XSLT DeviceInfo . Se um desses valores for definido, a transformação ocorrerá sempre que o renderizador XML for usado. Ao usar assinaturas, o XSLT deve ser definido na propriedade RDL DataTransform.

Se um arquivo XSLT for especificado, tanto pela propriedade de definição DataTransform quanto pela configuração de informações do dispositivo, o XSLT especificado em DataTransform ocorrerá primeiro, seguido pelo XSLT definido pelas configurações de informações do dispositivo.

O arquivo XSLT deve estar disponível na internet por https sem precisar de autenticação.

Configurações de informações do dispositivo

Você pode alterar algumas configurações padrão para esse renderizador alterando as configurações de informações do dispositivo, incluindo o seguinte:

  • Uma transformação (XSLT) para aplicar ao XML.

  • O tipo MIME do documento XML.

  • Se as cadeias de caracteres de formato devem ser aplicadas aos dados.

  • Se a saída XML deve ser recuada.

  • Se o nome do esquema XML deve ser incluído.

  • A codificação para o documento XML.

  • A extensão de arquivo do documento XML.

Para obter mais informações, consulte Configurações de informações do dispositivo XML.