Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
josh_ben86
Contributor III
Contributor III

Cálculo Tabela Simples

Boa noite pessoal,

Estou com uma dúvida e gostaria do auxílio de vocês.

Screenshot_6.png

Na Medida chamada "Diferença" preciso realizar cálculos relacionados com o ATP... A primeira linha virá com o valor 0, conforme solicitado pelo cliente... A segunda linha, Range de 7 a 14 terá de ser feito o ATP R$ 958,83 - ATP R$ 722,98 = R$ 235,85 (deverá aparecer esse valor)... Na terceira linha, Range de 15 a 20 terá de ser feito o ATP R$ 722,98 - ATP R$ 637,83 = R$ 84,15 (deverá aparecer esse valor) e na última linha, range >21 terá de ser feito o ATP R$ 958,83(1 Linha) - ATP R$ 792,59(Última Linha) = R$ 166,24

Labels (2)
8 Replies
Anonymous
Not applicable

Olá, josh_ben86

Tente usar essa expressão para criar a coluna "Diferença":

=If(Range='0 a 6', 0, If(Range='>21',  Top(TOTAL ATP) - Bottom(TOTAL ATP), Above(TOTAL ATP) - ATP))

Resultado:

Capturar.PNG

josh_ben86
Contributor III
Contributor III
Author

olá daniel,

Estou quase chegando no resultado...infelizmente o >21 não está fazendo o cálculo ceto no meu...poderia me passar o qvf ou qvw pra que eu possa verificar seus cálculos...

minha expressão ficou da seguinte maneira:

=If(antecedencia='0 a 6', 0, If(antecedencia='>21',  Top(TOTAL Column(2)) - Bottom(TOTAL Column(2)), Above(TOTAL Column(2)) - Column(2)))

A dimensão de range é a seguinte:

=if(fabs(antecedencia)<7,Dual('0 a 6',1),if(fabs(antecedencia)<15,Dual('7 a 14',2),if(fabs(antecedencia)<21,Dual('15 a 20',3),Dual('>21',4))))

Resultado que está trazendo:

Screenshot_7.png

Anonymous
Not applicable

Olá novamente!

Verifique se a sua coluna ATP está como expressão, já que a função Column() não funciona com dimensões.

Quando eu faço este ajuste no meu qvw, sua expressão funciona perfeitamente.


Segue o qvw tanto com minha expressão, quanto com a sua, ambas funcionando.

Anonymous
Not applicable

Agora que dei uma olhada melhor na sua expressão, eu vi que você está tentando comparar o valor de "antecedencia" com o valor criado na dimensão calculada ("Range").

Faça a seguinte alteração na sua expressão e veja se funciona:


If(antecedencia<7, 0, If(antecedencia>21,  Top(TOTAL Column(2)) - Bottom(TOTAL Column(2)), Above(TOTAL Column(2)) - Column(2)))

josh_ben86
Contributor III
Contributor III
Author

Olá Daniel, você teria como printar e encaminhar aqui?

Estou no sense.. e quando faço a conversão de view para sense a pasta fica vazia... Agradeço desde já...

Apenas uma OBS: O cálculo do ATP é bem grande assim como a dimensão range tem alguns ifs rsss....

Abraço!!

Anonymous
Not applicable

Bom dia, Josh!

Você tentou aplicar a modificação na sua expressão que mostrei no meu último post? Se sim, qual foi o resultado?

Daqui a pouco te mando os prints, estou escrevendo pelo celular agora.

josh_ben86
Contributor III
Contributor III
Author

Daniel,

Criei o Range no script e agora funcionou... obrigado pela ajuda!!!

Anonymous
Not applicable

De nada.

Disponha sempre!