Sub-relatórios (Construtor de Relatórios 3.0 e SSRS)

Um sub-relatório é um item de relatório que exibe outro relatório dentro do principal corpo de conteúdo de um relatório. Conceitualmente, um sub-relatório em um relatório é semelhante a um quadro em uma página da Web. É usado para inserir um relatório dentro de um relatório. Qualquer relatório pode ser usado como um sub-relatório. O relatório exibido pelo sub-relatório é armazenado em um servidor de relatório, normalmente na mesma pasta do relatório pai. Você pode designar o relatório pai para transmitir parâmetros ao sub-relatório. Um sub-relatório pode ser repetido em regiões de dados, usando um parâmetro para filtrar dados em cada instância do sub-relatório.

Sub-relatório

Nesta ilustração, as informações de contato exibidas no relatório de Ordem de Venda principal vêm de um sub-relatório Contatos.

ObservaçãoObservação

É possível criar e modificar definições de relatórios (.rdl) no Report Builder 3.0 e no Designer de Relatórios no Business Intelligence Development Studio. Cada ambiente de criação fornece diferentes maneiras de criar, abrir e salvar relatórios e itens relacionados. Para obter mais informações, consulte Projetando e implementando relatórios usando o Designer de Relatórios (Reporting Services) na Web em microsoft.com.

Comparando sub-relatórios e regiões de dados aninhados

Se você estiver pensando em usar os sub-relatórios para exibir grupos de dados separados, considere o uso de regiões de dados como tabelas, matrizes, listas e gráficos. Os relatórios com regiões de dados podem executar melhor apenas os relatórios que incluem sub-relatórios.

Use as regiões de dados para aninhar grupos de dados a partir da mesma fonte de dados dentro de uma região de dados simples. Use os sub-relatórios para aninhar os grupos de dados de diferentes fontes de dados dentro de uma região de dados simples, reutilizar um sub-relatório em vários relatórios pai ou exibir um relatório autônomo dentro de outro relatório. Por exemplo, você pode criar um "livro-síntese" posicionando vários sub-relatórios dentro de outro relatório.

As regiões de dados fornecem muito da funcionalidade e flexibilidade de sub-relatórios, mas com melhor desempenho. Como o servidor de relatório processa cada instância de um sub-relatório como um relatório separado, pode haver impacto no desempenho. Para obter mais informações, consulte Aninhando regiões de dados (Construtor de Relatórios 3.0 e SSRS).

Usando parâmetros em sub-relatórios

Para passar os parâmetros do relatório pai para o sub-relatório, defina um parâmetro de relatório no relatório que está sendo usado como o sub-relatório. Ao inserir o sub-relatório no relatório pai, você poderá selecionar o parâmetro de relatório e um valor que poderão ser passados do relatório pai para o parâmetro de relatório no sub-relatório.

ObservaçãoObservação

O parâmetro que você seleciona no sub-relatório é um parâmetro de relatório, não um parâmetro de consulta. Para obter mais informações sobre parâmetros, consulte Usando parâmetros para conectar-se com outros relatórios (Construtor de Relatórios 3.0 e SSRS).

O sub-relatório pode ser colocado no corpo principal do relatório ou em uma região de dados. Se o sub-relatório for posicionado em uma região de dados, ele será repetido em cada instância do grupo ou da linha na região de dados. Para passar um valor a partir de um grupo ou uma linha para o sub-relatório, na propriedade de valor do sub-relatório, use uma expressão de campo para o campo que contém o valor que deseja passar para o parâmetro de sub-relatório.

Para obter mais informações sobre como trabalhar com sub-relatórios, consulte Como adicionar um sub-relatório e parâmetros (Construtor de Relatórios 3.0 e SSRS).

Especificando nomes e locais de sub-relatório

É possível criar um relatório principal para especificar um sub-relatório em outra pasta no mesmo servidor de relatório.

A sintaxe a ser usada para especificar o sub-relatório depende do modo em que está o servidor de relatório, ou seja, no modo nativo ou no modo integrado do SharePoint. Para obter mais informações, consulte Especificando caminhos para itens externos (Construtor de Relatórios 3.0 e SSRS).

No Construtor de Relatórios, para visualizar um sub-relatório em um relatório principal, os dois relatórios devem estar localizados no mesmo servidor de relatório ou você deve especificar um caminho completo para o sub-relatório.