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)

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

Retorno para o usuário

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