Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
marcelvinicius
Creator III
Creator III

Itens sem movimento >180 dias

Boa tarde amigos,

Como faço para mostrar somente os itens que tiveram como base a ultima saída a mais de 180 dias?

Meus campos do load são esses:

LOAD

    Codigo&' - '&Descricao as ItemEstoque,

    Saldo as SaldoSemGiro,

    CustoTotal,

    Month(Mes) as Meses  ,

    UltimoMovtoEntrada,

    UltimoMovtoSaida.

Minha tabela esta no print:

SemGiro.png

1 Solution

Accepted Solutions
eduardo_dimperio
Specialist II
Specialist II

Tenta assim, aqui funcionou

If(Interval(today()-UltimoMovtoSaida,'D')>180,Interval(today()-UltimoMovtoSaida,'D'))AS INTERVALO

View solution in original post

37 Replies
thiago_mlg
Creator II
Creator II

Marcel,

Para fazer isso basta colocar uma condicional em cada expressão para verificar a quantidade de dias. Ficará mais ou menos assim:

IF(today() - UltimoMovtoSaida > 180, expressão)


Att,

eduardo_dimperio
Specialist II
Specialist II

Oi Marcel,

Utilize na sua clausula WHERE Interval(today()-UltimoMovtoSaida,'D')>180 dias, desse jeito sua pesquisa fica mais rapida.

LOAD

    Codigo&' - '&Descricao as ItemEstoque,

    Saldo as SaldoSemGiro,

    CustoTotal,

    Month(Mes) as Meses  ,

    UltimoMovtoEntrada,

    UltimoMovtoSaida

FROM

Seu_QVD

WHERE Interval(today()-UltimoMovtoSaida,'D')>180

marcelvinicius
Creator III
Creator III
Author

Eduardo,

Seu Where funciona legal no momento da carga, porém descobri que preciso fazer na minha tabela, quando eu seleciono um determinado mês, entende?

marcelvinicius
Creator III
Creator III
Author

Segue print, quando escolho por exemplo o mês de Janeiro, não deveria aparecer esses itens, pois eles não estão com mais de 180 dias, entendeu?

SemGiro.png

eduardo_dimperio
Specialist II
Specialist II

Oi Marcel, faz o seguinte. Cria um campo pra pegar o intervalo que o where ta trazendo pra gente ver o o motivo do Where nao ter filtrado.

Interval(today()-UltimoMovtoSaida,'D') AS INTERVALO



eduardo_dimperio
Specialist II
Specialist II

Dei uma olhada aqui e não faz sentido.

O caso 873176 , a Ultima saida é dia 17/10/2016 são 318 dias (Irá fazer um ano daqui 2 meses, ou seja, 365 dias), mas no campo que voce circulou esta mostrando 107.

marcelvinicius
Creator III
Creator III
Author

Amigo Eduardo,

Quero saber os itens à partir do mês selecionado no filtro:

No print, você vai ver que o mês selecionado (indicado na Seta Vermelha) é o mês de JAN (Janeiro), e esse exemplo que você falou até dia 31/01/2017 são 107 dias, não 180.

Todos eles deveriam estar fora, pois estou selecionando um mês entendeu?

eduardo_dimperio
Specialist II
Specialist II

Agora entendi, eu achei que era da Ultima compra ate o dia de hoje. Então nesse caso sua pesquisa vai ser dinâmica, usando set analisys. Que imagino é o que voce usou no campo Dias sem Movimentação.

Se for o caso, só colocar ela dentro de um If e onde for menos que 180 dias voce atribui nulo e manda não mostrar os valores nulos na coluna. Imagino que isso resolva o caso.

marcelvinicius
Creator III
Creator III
Author

Amigo, gostei da sua ideia, mas como faço?

Meu campo é uma medida, e não tem a opção de valores nulos.

Sabe de outra forma?SemGiro.png