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)
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)