Partilhar via


Cabeçalhos e rodapés de página em um relatório paginado (Construtor de Relatórios do Power BI)

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

Um relatório paginado pode conter um cabeçalho e um rodapé que são executados ao longo da parte superior e inferior de cada página, respectivamente. Os cabeçalhos e rodapés podem conter texto estático, imagens, linhas, retângulos, bordas, cor do plano de fundo, imagens de plano de fundo e expressões. As expressões incluem referências de campo de conjunto de dados para relatórios com exatamente um conjunto de dados e chamadas de função agregadas que incluem o conjunto de dados como escopo.

Nota

Cada extensão de renderização processa páginas de forma diferente. Para obter mais informações sobre paginação de relatório e extensões de renderização, consulte Paginação no Reporting Services (serviço e Construtor de Relatórios do Power BI).

Por padrão, os relatórios têm rodapés de página, mas não cabeçalhos de página. Para obter mais informações sobre como adicioná-los ou removê-los, consulte Adicionar ou remover um cabeçalho ou rodapé de página (serviço e Construtor de Relatórios do Power BI).

Os cabeçalhos e rodapés geralmente contêm números de página, títulos de relatório e outras propriedades de relatório. Para obter mais informações sobre como adicionar esses itens ao cabeçalho ou rodapé do relatório, consulte Exibir números de página ou outras propriedades de relatório (Construtor de Relatórios e serviço).

Depois de criar um cabeçalho ou rodapé de página, ele é exibido em cada página de relatório. Para obter mais informações sobre como suprimir cabeçalhos e rodapés de página na primeira e na última página, consulte Ocultar um cabeçalho ou rodapé de página na primeira ou na última página (Construtor de Relatórios e o serviço Power BI.

Cabeçalhos e rodapés do relatório

Os cabeçalhos e rodapés das páginas não são iguais aos cabeçalhos e rodapés dos relatórios. Os relatórios não têm um cabeçalho de relatório especial ou uma área de rodapé de relatório. Um cabeçalho de relatório consiste nos itens de relatório que são colocados na parte superior do corpo do relatório na superfície de design do relatório. Eles aparecem apenas uma vez como o primeiro conteúdo do relatório. Um rodapé de relatório consiste em itens de relatório que são colocados na parte inferior do corpo do relatório. Eles aparecem apenas uma vez como o último conteúdo do relatório.

Os cabeçalhos e rodapés de página podem conter conteúdo estático, mas são mais comumente usados para exibir conteúdo variável, como números de página ou informações sobre o conteúdo de uma página. Para exibir dados variáveis diferentes em cada página, você deve usar uma expressão.

Se houver apenas um conjunto de dados definido no relatório, você poderá adicionar expressões simples, como [FieldName] a um cabeçalho ou rodapé de página. Arraste o campo da coleção de campos do conjunto de dados do painel Dados do Relatório ou da coleção Campos Internos para o cabeçalho ou rodapé da página. Uma caixa de texto com a expressão apropriada é adicionada automaticamente para você.

Para calcular somas ou outras agregações para valores na página, você pode usar expressões agregadas que especificam ReportItems ou o nome de um conjunto de dados. A coleção ReportItems é a coleção de caixas de texto em cada página após a renderização do relatório. O nome do conjunto de dados deve existir na definição de relatório. A tabela a seguir exibe quais itens são suportados em cada tipo de expressão agregada:

Suportado na expressão Agregações ReportItems Agregações de conjuntos de dados (o escopo deve ser o nome do conjunto de dados)
Caixas de texto no corpo do relatório Sim No
&Número da página Sim No
&TotalPages Sim No
Função agregar Sim. Por exemplo,

=First(ReportItems!TXT_LastName.Value)
Sim. Por exemplo,

=Max(Quantity.Value,"DataSet1")
Coleção de campos para itens na página Indiretamente. Por exemplo,

=Sum(ReportItems!Textbox1.Value)
Sim. Por exemplo,

=Sum(Fields!Quantity.Value,"DataSet1")
Imagem associada a dados Indiretamente. Por exemplo, =ReportItems!TXT_Photo.Value Sim. Por exemplo,

=First(Fields!Photo.Value,"DataSet1")

As seções a seguir neste tópico mostram expressões prontas para uso que obtêm dados variáveis comumente usados em cabeçalhos e rodapés. Há também uma seção sobre como a extensão de renderização do Excel processa cabeçalhos e rodapés. Para obter mais informações sobre expressões, consulte Expressões no Construtor de Relatórios do Power BI.

Para alguns relatórios, é útil incluir um valor calculado no cabeçalho ou rodapé de cada relatório; por exemplo, uma soma total por página se a página incluir valores numéricos. Como não é possível fazer referência direta aos campos, a expressão colocada no cabeçalho ou rodapé deve fazer referência ao nome do item de relatório (por exemplo, uma caixa de texto) em vez do campo de dados:

=Sum(ReportItems!Textbox1.Value)

Se a caixa de texto estiver em uma tabela ou lista que contenha linhas repetidas de dados, o valor que aparece no cabeçalho ou rodapé em tempo de execução é uma soma de todos os valores de todos os TextBox1 dados de instância na tabela ou lista da página atual.

Ao calcular totais de página, você pode esperar ver diferenças nos totais ao usar diferentes extensões de renderização para exibir o relatório. A saída paginada é calculada de forma diferente para cada extensão de renderização. A mesma página visualizada em HTML pode mostrar totais diferentes quando visualizada em PDF se a quantidade de dados na página PDF for diferente. Para obter mais informações, consulte Comportamentos de renderização (Construtor de Relatórios e serviço).

Relatórios com vários conjuntos de dados

Para relatórios com mais de um conjunto de dados, não é possível adicionar campos ou imagens associadas a dados diretamente a um cabeçalho ou rodapé. No entanto, você pode escrever uma expressão que faça referência indireta a um campo ou imagem associada a dados que deseja usar em um cabeçalho ou rodapé.

Para colocar dados variáveis em um cabeçalho ou rodapé:

  • Adicione uma caixa de texto ao cabeçalho ou rodapé.

  • Na caixa de texto, escreva uma expressão que produza os dados variáveis que você deseja que apareçam.

  • Na expressão, inclua referências a itens de relatório na página; Por exemplo, você pode fazer referência a uma caixa de texto que contém dados de um campo específico. Não inclua uma referência direta a campos em um conjunto de dados. Por exemplo, você não pode usar a expressão [LastName]. Você pode usar a seguinte expressão para exibir o conteúdo da primeira instância de uma caixa de texto chamada TXT_LastName:

    =First(ReportItems!TXT_LastName.Value)

Não é possível usar funções agregadas em campos no cabeçalho ou rodapé da página. Você só pode usar uma função de agregação em itens de relatório no corpo do relatório. Para obter expressões comuns em cabeçalhos e rodapés de página, consulte Exemplos de expressões (Construtor de Relatórios e serviço).

Você pode usar dados de imagem armazenados em um banco de dados em um cabeçalho ou rodapé. No entanto, não é possível fazer referência a campos de banco de dados diretamente do item de relatório Imagem. Em vez disso, você deve adicionar uma caixa de texto no corpo do relatório e, em seguida, definir a caixa de texto para o campo de dados que contém a imagem (observe que o valor deve ser codificado em base64). Você pode ocultar a caixa de texto no corpo do relatório para evitar mostrar a imagem codificada em base64. Em seguida, você pode fazer referência ao valor da caixa de texto oculta do item de relatório Imagem no cabeçalho ou rodapé da página.

Por exemplo, suponha que você tenha um relatório que consiste em páginas de informações do produto. No cabeçalho de cada página, você deseja exibir uma fotografia do produto. Para imprimir uma imagem armazenada no cabeçalho do relatório, defina uma caixa de texto oculta nomeada TXT_Photo no corpo do relatório que recupera a imagem do banco de dados e use uma expressão para atribuir um valor a ela:

=Convert.ToBase64String(Fields!Photo.Value)

No cabeçalho, adicione um item de relatório Imagem que usa a caixa de texto, decodificada TXT_Photo para mostrar a imagem:

=Convert.FromBase64String(ReportItems!TXT_Photo.Value)

Usar cabeçalhos e rodapés para posicionar o texto

Você pode usar cabeçalhos e rodapés para posicionar o texto em uma página. Por exemplo, suponha que você esteja criando um relatório que deseja enviar aos clientes. Você pode usar um cabeçalho ou rodapé para posicionar o endereço do cliente de modo que ele apareça em uma janela de envelope quando dobrado.

Se você estiver usando apenas a caixa de texto para preencher um cabeçalho ou rodapé, poderá ocultar a caixa de texto no corpo do relatório. O posicionamento da caixa de texto no corpo do relatório pode afetar se o valor aparece no cabeçalho ou rodapé da primeira ou da última página de um relatório. Por exemplo, se você tiver tabelas, matrizes ou listas que façam com que o relatório se estenda por várias páginas, o valor da caixa de texto oculta aparecerá na última página. Se quiser que ela apareça na primeira página, coloque a caixa de texto oculta na parte superior do corpo do relatório.

Crie relatórios com cabeçalhos e rodapés de página para renderizadores específicos

Quando um relatório é processado, os dados e as informações de layout são combinados. Quando você exibe um relatório, as informações combinadas são passadas para um renderizador que determina a quantidade de dados do relatório que cabe em cada página de relatório.

Se você exibir um relatório no servidor de relatório usando um navegador, o renderizador HTML controlará o conteúdo nas páginas de relatório exibidas. Se você planeja entregar relatórios em um formato diferente do usado para exibição ou se planeja imprimir relatórios em um formato específico, convém otimizar o layout do relatório para o renderizador que planeja usar para o formato de relatório final. Para obter mais informações sobre paginação de relatório, consulte Paginação no Reporting Services (Construtor de Relatórios e serviço).

Trabalhar com cabeçalhos e rodapés de página no Excel

Ao definir cabeçalhos e rodapés de página para relatórios destinados à extensão de renderização do Excel, siga estas diretrizes para obter os melhores resultados:

  • Use rodapés de página para exibir números de página.
  • Use cabeçalhos de página para exibir imagens, títulos ou outro texto. Não coloque números de página no cabeçalho.

No Excel, os rodapés de página têm um layout limitado. Se você definir um relatório que inclua itens de relatório complexos no rodapé da página, o rodapé da página não será processado como esperado quando o relatório for exibido no Excel.

A extensão de renderização do Excel pode acomodar imagens e posicionamento absoluto de itens de relatório simples ou complexos no cabeçalho da página. Um efeito colateral do suporte a um layout de cabeçalho de página mais avançado é o suporte reduzido para calcular números de página no cabeçalho. Na extensão de renderização do Excel, as configurações padrão fazem com que os números de página sejam calculados com base no número de planilhas. Dependendo de como você define o relatório, isso pode produzir números de página errados. Por exemplo, suponha que você tenha um relatório que renderiza como uma única planilha grande que é impressa em quatro páginas. Se você incluir informações de número de página no cabeçalho, cada página impressa mostrará "Página 1 de 1" no cabeçalho.

Uma contagem de páginas mais precisa é baseada em páginas lógicas que se correlacionam com as dimensões de uma página impressa. No Excel, o rodapé da página usa números de página lógicos automaticamente. Para colocar a contagem lógica de páginas no cabeçalho da página, você deve configurar as configurações de informações do dispositivo para usar cabeçalhos simples. Lembre-se de que, ao usar cabeçalhos simples, você remove a capacidade de lidar com layout de relatório complexo na região do cabeçalho.

Para obter mais informações, consulte Exportando para o Microsoft Excel (serviço e Construtor de Relatórios do Power BI).