Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoa tenho uma comissão que funciona assim,
Caso a Coluna 2 seja menor que 1500 ela não paga nada e deveria ficar zero.
Mas caso a coluna 2 seja maior que 1500 ele continua para o segundo if
Condição 1:
if(((column(2))) < '1500',0,
Condição 2
Caso a coluna 1 seja maior que 1500, e coluna 5 for maior coluna 1 então ele
if(column(2)> 1500,(column(2)) * Centavo_NorteSul))
if(colum(5))> Colunn(1) * CentavoBonus_NorteSul))
Preciso fazer o if correto - alguma sugestão...
Exemplo:
5.395 > 1500 = OK
1026 > 1500 = 0
Acho que vc deve testar os valores
experimente colocar isso
if(column(2) < 1500,0, if(column(5) > column(1), column(2),0)) --> deve apresentar o valor de column(2)
if(column(2) < 1500,0, if(column(5) > column(1), CentavoBonus_NorteSul,0)) --> deve apresentar o valor de CentavoBonus_NorteSul
Apenas para conferir se realmente eles estão com valor diferente de zero
Boa tarde Geraldo
Não ficou muito claro a sua pergunta. Infelizmente não posso abrir o seu qvw pois a minha versão do Qlikview é a de uso restrito.
A condição 1 está ok.... se a coluna 2 for menor que 1500 é igual a zero.
Mas na segunda condição está meio confusa...
Tem dois cálculos? É isso?
A condição 2 é:
column(2) ou column(1) maior que 1500???
Além disso, está faltando tratar caso a coluna seja igual a 1500, correto? Não deve haver uma condição de menor ou igual?
Ou maior ou igual?
Condição 2
Caso a coluna 1 seja maior que 1500, e coluna 5 for maior coluna 1 então ele
if(column(2)> 1500,(column(2)) * Centavo_NorteSul))
if(colum(5))> Colunn(1) * CentavoBonus_NorteSul))
Agnaldo,
Sua expressão está com erro de sintaxe e também não está claro a regra que você precisa.
Peço desculpas.
O que preciso é simples,
A expressão está dando erro.
Caso a coluna 5 for maior que a coluna 1 ele faça
Column(2)) = 7.648
*
CentavoBonus_NorteSul = 0,01
Total: 76,48
Apenas preciso consertar a expressão abaixo está errada. Alguma dica de como resolver.
if(((column(2))) < '1500',0,
if( (column(5)> (Column(1))), Column(2)) *CentavoBonus_NorteSul))
Vamos ver entendi agora...
Mas aqui ainda falta o que fazer se column(2) > 1500 e column(5) < column(1)
É zero???
Se for zero, creio que isso funcionará.
if(column(2) < 1500,0, if(column(5) > column(1), column(2) * CentavoBonus_NorteSul,0))
Caso tenha outro cálculo, basta inserir no lugar do zero ao final da expressão acima.
Outra coisa, Agnaldo.
Falta analisar o que acontece quanto o valor for igual...
Verifique se não tem que usar menor ou igual
Luiz, é por ahi. Mas os valores está ficando branco,
precise que ele some
Column(2)) = 7.648
*
CentavoBonus_NorteSul = 0,01
Total: 76,48
Lembrado que só poderá somar. Se a coluna 5 for > coluna 1
Agnaldo,
Tente
if([ADITIVADA (lts)]< '1500',0,
if(MIX_ATUAL>MIX_META, [ADITIVADA (lts)] * Centavo_NorteSul))
mauro é o mesmo que isso
if(column(2) < 1500,0,
if(column(5) > column(1), column(2) * CentavoBonus_NorteSul))
está ficando branco
Está ficando branco, pois sua condição atual está configurada para apresentar em branco caso não seja atendido a regra dos ifs, ou seja, se a sua regra não atender o 1 if e o segundo if o que deve ser exibido? Na sua expressão vai exibir branco para exibir 0 basta vc utilizar o exemplo do Luiz.
if(column(2) < 1500,0, if(column(5) > column(1), column(2) * CentavoBonus_NorteSul,0))
Bom Paulo,
Talvez tenha me expressando errado.
Veja a imagem abaixo:
if(column(2) < 1500,0,
7.648 < 1500 Certo
Caso fosse 0. Gostaria que ele não continue e atribua 0. Mas caso seja maior que 1500 ele continue...
Continua....
if(column(5) > column(1),
33,59 > 21
Caso fosse menor que 21 ele também atribua 0
Continua....
Todos as condições foram realizadas.
Agora preciso que some.
column(2) * CentavoBonus_NorteSul))
7.648 * 0,01 = 76,48
Talvez tenha que refazer a expressão correta. Não sei como...
Tenho certeza que preciso refazer todos os if mas preciso de ajuda...