Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

COmo utilizar Sum(if

Olá pessoal,

Estou tentando utilizar a formula sum(if(Mês>10,0,qtd_vendas), porém não está funcionando.

Alguém pode me ajudar?

Obrigado

8 Replies
Not applicable
Author

Se vc utilizou a função month para criar o campo Mês, ele deve valer "out" e não 10.

No entanto, sempre que possível o Qlikview grava os dados em dois formatos, numérico e alfanumérico, ou seja nesse caso, embora o mês seja representado como "out", ele vale 10, logo o que vc fez acima não esta errado, ele deveria compreender que out = 10.

Acho que a confusão esta mais nos filtros aplicados, pois esse tipo de expressão é influenciado diretamente pela seleção

Vc pode tentar:

Sum(if(Num(Mês) > 10, 0, qtd_vendas))

Mas acho que o problema mesmo esta nos filtros.

marksouzacosta
Partner - Creator II
Partner - Creator II

Uma outra dica Ronan, evite sempre que possível o uso de IF em Expressions. Dê preferência ao Set Analysis que possui performance superior.

Neste caso, seu código ficaria parecido com o abaixo:

Sum({$<Mês= {">10"}>} qtd_vendas)

Read more at Data Voyagers - datavoyagers.net
Not applicable
Author

Obrigado Fábio,

Encontrei o problema, realmente estava na configuração da variável.

Obrigado!

Ronan

Not applicable
Author

Obrigado Mark, vou começar a pensar dessa maneire..

Ronan

Not applicable
Author

Mark, aproveitando o teu exemplo, preciso que na formula Sum({$<Mês= {">10"}>} qtd_vendas) o 10 seja o mês que estou selecionando (váriavel) pois preciso mostrar o valor do mês e o valor acumulado para o ano selecionado.

abs

Edson

cesaraccardi
Specialist
Specialist

Olá antoniolli, se quiser utilizar com variáveis, basta usar a seguinte sintaxe:
Sum({$<Mês= {'$(variavel)'}>} qtd_vendas) ,
dessa forma a expansão de $ avalia o conteúdo da variável.

Not applicable
Author

Boa tarde Cesar, obrigado pela ajuda, minha formula ainda não esta funcionando legal, veja como estou desenvolvendo SUM({1<ANO=ANO, MES={"<=$(MES)"}}>}TT_NOTA_ITEM), preciso pegar todas as vendas do ano e até o mês selecionado isso vai me dar o valor acumulado e para o valor Mensal SUM(TT_NOTA_ITEM), que esta calculando corretamente, meu problema esta no valor acumulado.

Se puder me ajudar mais uma vez agradeço.Abs

cesaraccardi
Specialist
Specialist

Bom dia, a expansão de dólar vai funcionar com variáveis ou expressões. No seu caso, MES é um campo certo? Se for não vai funcionar desta forma. No lugar de usar o conjunto de todos os valores possíveis (1) e filtrar o ano, você pode usar o conjunto selecionado ($) e a função Max no filtro para retornar o maior valor possível do mês. Ficaria assim:

SUM({$<MES={'<=$(=Max(MES))'}>} TT_NOTA_ITEM)


Abs