Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Ifs no script

Alguem sabe se tem algum limite de quantidade de If encadeado em um script?

O codigo abaixo da erro no 3 if... aquele erro de expressão invalida!

Alguem poderia me dar uma luz!

LOAD

      Domain,   

     ,

     ,

     ,

     MaxString() as ,

     sum(if(='ISS-USD',Amount)) as Sales,

     sum(if(='ORD-USD',Amount)) as Orders,

     if((count(DISTINCT ))=1,

           if(only()='ORD-USD',if(<>0, SUM(Amount),0)

                  ,0

                 ),0

           )

            as BackLog

FROM

(qvd)

where Year =Year(Today())

Group By

      Domain,

     ,

     ,

        

2 Replies
Not applicable
Author

Pelo seu código veja que o numero de ' if ' usado é pequeno.

Desconheço o se tem um limite de ' if ', garanto que tem código com no minimo 10 vezes mais ' if ' do que o seu código.

O que não é permitido é que exista mais de um campo com o mesmo código, o que esta acontecendo em seu script.

Espero ter ajudado.

aderlanrm
Partner - Specialist
Partner - Specialist

Olá Alexandre,

Esse script que você disponibilizou não fica muito claro o que você esta tentando fazer.

Mas na função de soma, você está usando apenas a condição verdadeira, isso pode gerar problemas na soma.

É recomendado usar as duas condições nesse caso ou dependendo da necessidade colocar a função dentro do IF, não fora.

Veja:

1. sum(if([Ifs no script]='ISS-USD',Amount,0))

2. if([Ifs no script]='ISS-USD',sum(Amount))

No 2, vai retornar nulo no campo caso seja falso, podendo ser marcado no gráfico "Ocultar quando for nulo", com isso os valores desses campos que não tem valor não aparece no gráfico.

Mas tudo isso depende da necessidade do projeto.

Se puder explicar melhor e anexar o script com uma tabela de exemplo, fica mais fácil de tentar ajudar.

Grande abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)