Partilhar via


Filtrando dados do relatório no relatório

Os filtros ajudam a controlar quais dados são exibidos e processados em um relatório. É possível especificar filtros para um conjunto de dados, uma região de dados ou um grupo, em qualquer combinação.

Quando possível, filtre os dados na fonte de dados antes de eles serem recuperados para um relatório, modificando a consulta para incluir parâmetros de consulta para restringir quais dados são recuperados. Para obter mais informações, consulte Filtrando dados do relatório na fonte.

Especifique os filtros para itens de relatório quando você não puder filtrar dados na origem. Por exemplo, use os filtros de relatório quando a fonte de dados não oferecer suporte a parâmetros de consulta ou você deve executar procedimentos armazenados e não pode modificar a consulta ou um instantâneo de relatório com parâmetros exibirá dados personalizados para usuários diferentes.

Escolhendo onde definir um filtro

Determine onde você deseja definir um filtro pelo efeito que deseja atingir em seu relatório. No tempo de execução, o processador de relatório aplica filtros na seguinte ordem: no conjunto de dados e na região de dados e nos grupos de cima para baixo em cada hierarquia de grupo. Em uma tabela, matriz e lista, os filtros para grupos de linha, grupos de coluna e grupos adjacentes são aplicados de forma independente. Em um gráfico, os filtros para grupos de categoria e grupos de série são aplicados de forma independente. Quando o processador de relatório aplica o filtro, todas as equações de filtros são aplicadas na ordem em que elas foram definidas na página Filtro da caixa de diálogo Propriedades para cada item de relatório, que é o equivalente a combiná-los com as operações booleanas AND.

A lista a seguir compara o efeito de definir filtros em itens de relatório diferentes:

  • No conjunto de dados   Defina o filtro no conjunto de dados quando desejar que uma ou mais regiões de dados associadas a um único conjunto de dados sejam filtradas da mesma maneira. Por exemplo, defina o filtro no conjunto de dados associado a uma tabela que exibe os dados de vendas e um gráfico que exibe os mesmos dados.

  • Na região de dados   Defina um filtro na região de dados quando quiser que uma ou mais regiões de dados associadas a um único conjunto de dados forneçam uma exibição diferente do conjunto de dados. Por exemplo, defina o filtro em uma região de dados Tabela para exibir as dez principais lojas para vendas e uma região de dados Tabela diferente para exibir as dez últimas lojas para vendas no mesmo relatório.

  • Nos grupos de colunas ou linhas em uma região de dados Tablix   Defina um filtro em um grupo quando quiser incluir ou excluir determinados valores para uma expressão de grupo controlar quais valores de grupo são exibidos na tabela, matriz ou lista.

  • No grupo de detalhes em uma região de dados Tablix   Defina um filtro no grupo de detalhes para uma região de dados quando tiver vários grupos de detalhes para uma região de dados e quiser que cada grupo de detalhes exiba um conjunto de dados diferente do conjunto de dados.

  • Nos grupos de categoria ou série em uma região de dados Gráfico   Defina um valor em um grupo de séries ou categorias quando quiser incluir ou excluir determinados valores para uma expressão de grupo para controlar quais valores são exibidos no gráfico.

Criando uma equação de filtro

Em tempo de execução, o processador de relatório converte o valor para o tipo de dados especificado e usa o operador especificado para comparar a expressão e o valor. A lista a seguir descreve cada parte da equação de filtro:

  • Expressão   Define o que você está filtrando. Geralmente, isso é um campo de conjunto de dados.

  • Tipo de Dados   Especifica o tipo de dados a ser usado quando a equação de filtro é avaliada em tempo de execução pelo processador de relatórios. O tipo de dados selecionado deve ser um dos tipos de dados com suporte do esquema de definição de relatórios.

  • Operador   Define como comparar as duas partes da equação do filtro.

  • Valor   Define a expressão a ser usada na comparação.

As seções a seguir descrevem cada parte da equação de filtro. Para obter exemplos de equações de filtros, consulte Exemplos de equações de filtro (Reporting Services).

Expressão

Quando a equação de filtro é avaliada pelo processador de relatórios em tempo de execução, os tipos de dados da expressão e o valor devem ser iguais. O tipo de dados do campo selecionado para Expressão é determinado pela extensão de processamento de dados ou pelo provedor de dados usado para recuperar dados da fonte de dados. O tipo de dados da expressão digitado para Valor é determinado pelo Reporting Services padrão. As opções do tipo de dados são determinadas pelos tipos de dados suportados para uma definição de relatório. Os valores do banco de dados podem ser convertidos pelo provedor de dados em um tipo CLR. Para obter mais informações, consulte Compreendendo os conjuntos de dados de relatório.

Tipo de Dados

Para o processador de relatórios comparar os dois valores, os tipos de dados devem ser iguais. A tabela a seguir lista o mapeamento entre os tipos de dados CLR e os tipos de dados de definição de relatórios. Os dados recuperados de uma fonte de dados podem ser convertidos em um tipo de dados diferente até o momento em que os dados são relatados. Para obter mais informações, consulte Compreendendo os conjuntos de dados de relatório.

Tipo de dados de esquema de definição de relatórios

Tipos de CLR

Boolean

Boolean

DateTime

DateTime, DateTimeOffset

Integer

Int16, Int32, UInt16, Byte, SByte

Float

Single, Double, Decimal

Text

String, Char, GUID, Timespan

Em casos em que você deve especificar um tipo de dados, você pode especificar sua própria conversão na parte Value da expressão.

Operador

A tabela a seguir lista os operadores que podem ser usados em uma equação de filtro e o que o processador de relatórios usa para avaliar a equação de filtro.

Operador

Ação

Equal, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual

Compara a expressão a um valor.

TopN, BottomN

Compara a expressão a um valor Integer.

TopPercent, BottomPercent

Compara a expressão a um valor Integer ou Float.

Between

Testa se a expressão está entre dois valores, inclusive.

In

Testa se a expressão está contida em um conjunto de valores.

Valor

A expressão Value especifica a parte final da equação do filtro. O processador de relatórios converte a expressão avaliada para o tipo de dados especificado e avalia a equação de filtro inteira para determinar se os dados especificados na Expressão são transmitidos pelo filtro.

Para converter para um tipo de dados que não seja um tipo de dados CLR, você deve modificar a expressão para converter explicitamente para um tipo de dados. Você pode usar as funções de conversão listadas na caixa de diálogo Expressão em Funções Comuns, Conversão. Por exemplo, para um campo ListPrice que representa os dados armazenados como um tipo de dados dinheiro em uma fonte de dados SQL Server, a extensão de processamento de dados retornará o valor de campo como um tipo de dados System..::..Decimal. Para definir um valor para usar somente valores maiores de $50.000,00 na moeda do relatório, converta o valor para Decimal usando a expressão =CDec(50000.00).

Esse valor também pode incluir uma referência de parâmetro para permitir que um usuário filtre um valor interativamente. Para obter mais informações, consulte Exemplos de equações de filtro (Reporting Services).