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

REGRA PARA UMA EXPRESSÃO

Olá,

estou com um grafico e uma dimensão que é uma soma acumulativa e relativa. com base nisso criei uma expressão que deveria dizer o grupo que pertence a registro. ex: se o % acumulado for maior que 0 e menor que 80 deveria ser populada com 1.

Porém isso não ocorre ele exibe tudo igual 5 no caso o ultimo if.

podem me ajudar?

if(("% Acumulado" >= '0,00%') and ("% Acumulado" < '80,00%')  , 1,

   if("% Acumulado" >= '80,00' and "% Acumulado" < 90 , 2,

      if("% Acumulado" >= 90 and "% Acumulado" < 96 , 3,

         if("% Acumulado" >= 96 and "% Acumulado" < 101 , 4,

            if("% Acumulado" >= 101, 5)))))

16 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Vilmar,

No lugar do "% acumalada", faça o calculo manualmente, direto com o campo de valor e troque os valores de percentuais por decimais, considerando 1 = 100%.

Ficaria algo assim:

if((NumSum(Sum(Valor)/Sum(TOTAL Valor),Above(GRUPO)) >= 0) and (NumSum(Sum(Valor)/Sum(TOTAL Valor),Above(GRUPO)) < 0.8), 1,

   if(NumSum(Sum(Valor)/Sum(TOTAL Valor),Above(GRUPO)) >= 0.8 and NumSum(Sum(Valor)/Sum(TOTAL Valor),Above(GRUPO)) < 0.9, 2,

      if(NumSum(Sum(Valor)/Sum(TOTAL Valor),Above(GRUPO)) >= 0.9 and NumSum(Sum(Valor)/Sum(TOTAL Valor),Above(GRUPO)) < 0.96, 3,

         if(NumSum(Sum(Valor)/Sum(TOTAL Valor),Above(GRUPO)) >= 0.96 and NumSum(Sum(Valor)/Sum(TOTAL Valor),Above(GRUPO)) < 1.01, 4,

            if(NumSum(Sum(Valor)/Sum(TOTAL Valor),Above(GRUPO)) >= 1.01, 5)))))

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)
Not applicable
Author

Eduardo, Boa tarde!

No seu arquivo, realmente ficou certo, porém para calcular os % não utilize a sua dimensão %, faça os calculos pelo campo R$, dessa forma verás que tbm não fica correto!

Obrigado!

Not applicable
Author

Boa tarde, Aderlan!

Tbm não funcionou, tentei de varias formas, fazendo o que vc disse, mas infelizmente não é possivel.

Se tiver que acumular, não funciona, e tentando fazer o calculo com above para não utilizar o soma acumulativa não funciona tbm.

Obrigado!

aderlanrm
Partner - Specialist
Partner - Specialist

Vilmar, tem certeza que não tem algum detalhe faltando?

Nos testes que fiz aqui, funcinou bem, mas nem adianta colocar o arquivo para você, pois pode funcionar no meu e no seu não devido a particularidades.

Se puder colocar um arquivo de exemplo aqui para darmos uma olhada, seria o ideal, do contrário, só você vendo cada detalhe mesmo para achar o possível problema.

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)
Not applicable
Author

olá ... segue qvw com o problema da regra de expressão ... desculpe a demora .. mas tive uma semana do 'hell' rsrs

obrigado!

aderlanrm
Partner - Specialist
Partner - Specialist

Olá Vilmar,

Não consegui ver o arquivo, anexou mesmo?

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)
rogerioqv
Creator II
Creator II

Vilmar,

Utilize o id da coluna, assim você não precisa calcular novamente. Compare o valor original do resultado e não o valor já com a máscara... segue exemplo.