Skip to main content

Query (SQL)

Função Filter

Sempre que um relatório possuir um filtro, é necessário incluir esse filtro na query que gera os dados do relatório.

Não importa como é a query, ela deve incluir a cláusula where, como a chamada da função Filter. Essa função, possui 3 parâmetros:

Filter (variável_filtro, tabela, campo)

  • variável_filtro: é a variável que o agilityflow criou, após a configuração do filtro.
  • tabela: nome da tabela (definido nos Dados Técnicos) onde se encontra o dado a ser filtrado.
  • campo: é o nome do campo (conforme informado no campo Coluna Banco de Dados SQL) onde a informação que o filtro utiliza se encontra.

No exemplo abaixo, a query lista os campos usu_nome, usu_email e usu_sexo da tabela do sistema de usuário (tbl_usuario) e se inclui a função Filter, usando a variável @sexo aplicada no campo usu_sexo.

select usu_nome, usu_email, usu_sexo from tbl_usuario 
where Filter(@sexo, tbl_usuario, usu_sexo) 

Exemplo de relatório sem filtro

Baseado na query acima, mas sem filtro configurado no relatório.

select usu_nome, usu_email, usu_sexo from tbl_usuario 

Exemplo de relatório com filtro

O mesmo exemplo acima, com o filtro no campo sexo.

select usu_nome, usu_email, usu_sexo from tbl_usuario 
where Filter(@sexo, tbl_usuario, usu_sexo) 

relatorio_filtro.gif

Caso seja criado um novo filtro, basta colocar "and" depois do primeiro Filter, e colocar o segundo Filter. Não importa a quantidade de filtros, desde que sejam adicionados todos os Filter e os and.

select usu_nome, usu_email, usu_sexo from tbl_usuario 
where Filter(@sexo, tbl_usuario, usu_sexo) and
      Filter(@nome, tbl_usuario, usu_nome) and
      Filter(@email, tbl_usuario, usu_email)