Introdução
A todo momento é utilizado filtros em dados, seja para fazer um select ou seja para fazer um group by. No relatório, a filtragem de um dado pode ser através do próprio relatório, do banco ou do bloco de programação.
Pré-condição
- Ter uma fonte de dados adicionada no relatório
Filtro pelo relatório
FIltrar através do relatório é vantajoso por poder utilizar o mesmo filtro em outros relatórios. Para adicionar um filtro, clique com o botão direito do mouse em cima da fonte de dados desejada e selecione editar (Figura 1.1), e, ao aparecer o popup, selecione configurar parâmetros para abrir a janela de filtros e parâmetros e configure o filtro desejado (Figura 1.2). Por fim, clique ok tanto na janela quanto no popup e salve o relatório.
![](/download/attachments/145490598/Figura%201.1%20-%20Caminho%20para%20realizar%20filtro.png?version=3&modificationDate=1551468664000&api=v2)
Figura 1.1 - Selecionar editar
![](/download/attachments/145490598/Figura%201.2%20-%20Criando%20filtro.png?version=2&modificationDate=1551468672000&api=v2)
Figura 1.2 - Adicionar nova regra de filtragem
Então, quando adicionar o componente visualizador de relatório no formulário e for em configurações, a regra de filtragem também aparecerá quando selecionar o relatório. Nesse caso, basta fazer uma ação ao rodar o projeto para que o filtro ocorra.
![](/download/attachments/145490598/Figura%201.3%20-%20Configura%C3%A7%C3%A3o%20do%20visualizador%20de%20relat%C3%B3rio.png?version=4&modificationDate=1551468685000&api=v2)
Figura 1.3 - Configuração do visualizador de relatório
Por exemplo, seria o caso de utilizar um campo de entrada de texto para fazer a filtragem (Figura 1.5).
![](/download/attachments/145490598/Figura%201.4%20-%20Relat%C3%B3rio%20antes%20de%20fazer%20a%20filtagrem.png?version=2&modificationDate=1551468622000&api=v2)
Figura 1.4 - Relatório sem a filtragem
![](/download/attachments/145490598/Figura%201.5%20-%20Relat%C3%B3rio%20ap%C3%B3s%20fazer%20a%20filtragem.png?version=2&modificationDate=1551468699000&api=v2)
Figura 1.5 - Relatório após a filtragem
Filtro pelo banco de dados
Para fazer uma filtragem utilizando o banco de dados é preciso criar uma nova consulta, adicionando uma nova fonte de dados. Essa forma de filtragem é mais vantajosa por não trazer todos os dados para a aplicação, ou seja, fazendo a filtragem diretamente no servidor.
![](/download/attachments/145490598/Figura%202.1%20-%20Criando%20a%20nova%20fonte.png?version=9&modificationDate=1551468707000&api=v2)
Figura 2.1 - Filtragem através do banco
![](/download/attachments/145490598/Figura%202.2%20-%20Adicionando%20regra%20na%20fonte%20de%20dados.png?version=3&modificationDate=1551468714000&api=v2)
Agora, basta adicionar essa nova fonte de dados no dicionário do relatório que a filtragem ocorrerá.
Por exemplo, seria o caso abaixo: Quando não define o filtro do dado, nesse caso a marca do carro, o relatório será mostrado em branco pois nenhum dado será repassado (Figura 2.3). Mas, após definir a marca, ele será mostrado no relatório (Figura 2.4).
![](/download/attachments/145490598/Figura%202.3%20-%20Relat%C3%B3rio%20sem%20dados.png?version=2&modificationDate=1551468722000&api=v2)
Figura 2.3 - Relatório sem definir o filtro
![](/download/attachments/145490598/Figura%202.4%20-%20Relat%C3%B3rio%20ap%C3%B3s%20dados.png?version=2&modificationDate=1551468729000&api=v2)
Figura 2.4 - Relatório após definir o filtro
Filtro por bloco de programação
A filtragem por bloco de programação tem a mesma ideia que por banco de dados. Será preciso criar uma nova fonte de dados, mas, ao invés de escolher entidade, precisa ser escolhido bloco de programação (1) e fazer a criação do bloco (2).
![](/download/attachments/145490598/Figura%203.1%20-%20Definindo%20origem%20da%20fonte.png?version=2&modificationDate=1551468736000&api=v2)
Figura 3.1 - Definindo o campo de bloo de programação
Filtragem múltipla
Além disso, é possível fazer uma múltiplos filtros no relatório, podendo ser oriondo do próprio relatório, do banco e/ou do bloco de programação. Por exemplo, o filtro a seguir é múltiplo e utiliza o do banco (Figura 4.1), o filtro da marca do carro, e do relatório (Figura 4.2), o filtro do ano do carro.
![](/download/attachments/145490598/Figura%204.1.png?version=3&modificationDate=1551468744000&api=v2)
Figura 4.1 - Filtro pelo banco de dados
![](/download/attachments/145490598/Figura%204.2.png?version=3&modificationDate=1551468750000&api=v2)
Figura 4.2 - Filtro pelo relatório
![](/download/attachments/145490598/Figura%204.3.png?version=2&modificationDate=1551468756000&api=v2)
Figura 4.3 - Relatório com os dois filtros