Partilhar via


Adicionar filtros a conjuntos de dados, regiões de dados e grupos em um relatório paginado (Construtor de Relatórios do Power BI)

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

Em um relatório paginado do Power BI, um filtro é uma parte de um conjunto de dados, uma região de dados ou um grupo de regiões de dados que você cria para limitar os dados usados no relatório. Os filtros ajudam a controlar os dados do relatório se não for possível alterar a consulta do conjunto de dados.

Os filtros também ajudam a controlar quais dados são exibidos e processados em um relatório. Você pode especificar filtros para um conjunto de dados, uma região de dados ou um grupo, em qualquer combinação.

Para obter mais informações, consulte Adicionar um filtro a um conjunto de dados (Construtor de Relatórios) e Exemplos de equações de filtro (Construtor de Relatórios).

Escolha quando definir um filtro

Especifique filtros para itens de relatório quando não for possível filtrar dados na origem. Por exemplo, use filtros de relatório quando a fonte de dados não oferecer suporte a parâmetros de consulta ou você precisar executar procedimentos armazenados e não puder modificar a consulta.

Você pode filtrar dados de relatório antes ou depois de serem recuperados para um conjunto de dados de relatório. Para filtrar dados antes de serem recuperados, altere a consulta para cada conjunto de dados. Ao filtrar dados na consulta, você filtra dados na fonte de dados, o que reduz a quantidade de dados que devem ser recuperados e processados em um relatório. Para filtrar dados depois de recuperados, crie expressões de filtro no relatório. Você pode definir expressões de filtro para um conjunto de dados, uma região de dados ou um grupo, incluindo grupos de detalhes. Você também pode incluir parâmetros em expressões de filtro, fornecendo uma maneira de filtrar dados para valores específicos ou para usuários específicos, por exemplo, filtrando em um valor que identifica o usuário que está exibindo o relatório.

Escolha onde definir um filtro

Determine onde você deseja definir um filtro pelo efeito que deseja alcançar em seu relatório. Em tempo de execução, o processador de relatório aplica filtros na seguinte ordem: no conjunto de dados e, em seguida, na região de dados e, em seguida, em grupos de cima para baixo em cada hierarquia de grupo. Em uma tabela, matriz e lista, os filtros para grupos de linhas, grupos de colunas e grupos adjacentes são aplicados independentemente. Em um gráfico, os filtros para grupos de categorias e grupos de séries são aplicados de forma independente. Quando o processador de relatório aplica o filtro, todas as equações de filtro são aplicadas na ordem em que são definidas na página Filtro da caixa de diálogo Propriedades para cada item de relatório, o que equivale a combiná-las com operações Boolean AND.

A lista a seguir compara o efeito da configuração de filtros em diferentes itens de relatório:

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

  • Na região de dados Defina um filtro na região de dados quando desejar que uma ou mais regiões de dados vinculadas 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 lojas inferiores para vendas no mesmo relatório.

  • Nos grupos de linhas ou colunas 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 para controlar quais valores de grupo aparecem na tabela, matriz ou lista. Uma região de dados tablix é um item de relatório de layout generalizado que exibe dados de relatório paginados em células organizadas em linhas e colunas.

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

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

Compreender 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, em seguida, 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. Normalmente, este é 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ório. O tipo de dados selecionado deve ser um dos tipos de dados suportados pelo esquema de definição de relatório.

  • 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 do filtro.

Expression

Quando a equação de filtro é avaliada pelo processador de relatório em tempo de execução, os tipos de dados para a expressão e o valor devem ser os mesmos. 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 que você insere para Valor é determinado por padrão. As opções para o 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.

Tipo de dados

Para que o processador de relatório compare dois valores, os tipos de dados devem ser os mesmos. A tabela a seguir lista o mapeamento entre tipos de dados CLR e tipos de dados de definição de relatório. Os dados recuperados de uma fonte de dados podem ser convertidos em um tipo de dados diferente no momento em que os dados do relatório são extraídos.

Tipo de dados do esquema de definição de relatório Tipo(s) CLR
Booleano Booleano
DateTime DateTime, DateTimeOffset
Inteiro Int16, Int32, UInt16, Byte, SByte
Flutuador Simples, Duplo, Decimal
Texto String, Char, GUID, Timespan

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

Operador

A tabela a seguir lista os operadores que você pode usar em uma equação de filtro e o que o processador de relatório usa para avaliar a equação de filtro.

Operador Ação
Igual, Like, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual Compara a expressão a um valor.
TopN, BottomN Compara a expressão com um valor inteiro .
TopPercent, BottomPercent Compara a expressão com um valor Integer ou Float .
Entre Testa se a expressão está entre dois valores, inclusive.
In Testa se a expressão está contida em um conjunto de valores.

Value

A expressão Value especifica a parte final da equação de filtro. O processador de relatório converte a expressão avaliada no tipo de dados especificado e, em seguida, avalia toda a equação do filtro para determinar se os dados especificados em Expressão passam pelo filtro.

Para converter em um tipo de dados que não seja um tipo de dados CLR padrão, você deve modificar a expressão para converter explicitamente em 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 dados armazenados como um tipo de dados monetário em uma fonte de dados do SQL Server, a extensão de processamento de dados retorna o valor do campo como um tipo de Decimal dados. Para definir um filtro para usar apenas valores superiores a $50000,00 na moeda do relatório, converta o valor em 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 selecione interativamente um valor para filtrar.