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)
Conversão de Texto Para Decimal
Nome da Função
dbo.CONVERT_TO_DECIMAL(....)
Parâmetro de entrada
varchar (100)
Passar um texto (só números) com vírgula na separação de decimais
Exemplo: 12000.50
Parâmetro de saída
decimal(18,6)
Exemplo: 12000.500000
Exemplo de utilização
select dbo.CONVERT_TO_DECIMAL('12000,50') * dbo.CONVERT_TO_DECIMAL('2,5')
30001.250000000000
Formatação do texto para número com milhar e 2 casas decimais
Nome da Função
dbo.FORMAT_TO_DECIMAL(....)
Parâmetro de entrada
varchar (40)
Passar um texto (só números) com ponto na separação de decimais
Exemplo: 30001.250000000000
Parâmetro de saída
varchar (40)
Texto com números formatados como números decimais considerando pontos no milhar e 2 casas decimais:
Exemplo: 30.001,25
Exemplo de utilização
select dbo.FORMAT_TO_DECIMAL('30001.250000000000')
Retorno para o usuário
30.001,25
Formatação do texto para moeda R$ com milhar e 2 casas decimais
Nome da Função
dbo.FORMAT_TO_MOEDA_REAL(....)
Parâmetro de entrada
varchar (40)
Passar um texto (só números) com ponto na separação de decimais
Exemplo: 30001.250000000000
Parâmetro de saída
varchar (40)
Texto com números formatados como moeda precedido de R$, considerando pontos no milhar e 2 casas decimais:
Exemplo: R$ 30.001,25
Exemplo de utilização
select dbo.FORMAT_TO_MOEDA_REAL('30001.250000000000')
Retorno para o usuário
R$ 30.001,25