Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
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: 
Not applicable

Manipular expressões acumulativas

Boa tarde pessoal.

Bom, esta é a minha primeira pergunta na comunidade, e espero que futuramente possa estar contribuindo ao invés de só perguntando, mas por hora, preciso de uma ajuda.

Tenho uma tabela simples e uma expressão que acumula a soma da qtd de kg faturados e mostra o total em %. Não estou conseguindo encontrar uma forma de tipo, contar esta coluna até que o valor seja 80%, e mostrar o total de representantes. Seria o 80/20.

Criei ao lado outra coluna com a seguinte expressão:

if([80% dos Representantes]<=v80p,1,0)

mas esta expressão está retornando um para todos os valores. Minha intenção era dar um count no que fosse 1 e mostrar qtas pessoas representam 80%.

Segue uma imagem:

expressão.jpg

Obrigado.

1 Solution

Accepted Solutions
Not applicable
Author

Mesmo colocando o total, continua com 1 em todas as colunas.

Nas comunidades em ingles do qlikview tem algumas coisas relacionadas a regra de pareto, mas tá foda tb, ng tem uma resposta concreta.

Consegui. Tive que fazer o seguinte:

Criei uma coluna no meu gráfico que acumula a qtd faturada (kg) e sobre essa coluna fiz outra com a seguinte expressão:

if(rowno()=1 or above(Acumulador%)<v80p, 1)

Alterei também o valor da variável v80p para 80% e pronto, consegui pegar o valor da %

Créditos ao usuário John Witherspoon da comunidade Development (QlikView Desktop) que postou uma resolução parecida com o que eu precisava.

Agradeço ao Cesar Accardi Jr e ao Aderlan Rodrigues, que perderam o tempo deles para tentar me ajudar.

View solution in original post

9 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Samuel,

Se eu entendi bem o que está tentando fazer.

Vá nas propriedades do gráfico combinado, na aba EXPRESSÕES.

Provavelmente você terá uma expressão com SUM, COUNT... qualquer função.

Então você deve INCLUIR outra expressão com a mesma função ou usando o nome da expressão e marcar:

Localize a área ACUMULADO, marque ACUMULAR, localize RELATIVO e marque, fica logo em cima, perto do campo de funções.

Depois disso, vá na aba EIXOS, escolha a expressão que você marcou como acumulado, localize POSIÇÃO, e marque DIREITA.

Na aba APRESENTAÇÃO, localize LIMITES PARA DIMENSÕES, marque NUMERO MÁXIMO VISÍVEL = 20, marque MOSTRAR BARRA DE ROLAGEM DO EIXO.

Esse último é só para melhorar a visualização.

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (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

Essa imagem que postei ai em cima já é do meu gráfico, uma tabela simples. Aquela coluna "80% dos Representantes" já está configurada como você me falou. O que eu preciso agora é contar qtos representantes representam 80% das vendas. Eu consegui marcar eles em preto, porém preciso mostrar a quantidade e qnto isso representa do total de representantes.

cesaraccardi
Specialist
Specialist

Samuel, Qual o conteúdo da variável v80p? É uma expressão? Lembre-se que para indicar 80% ela deve retornar 0,8...

Not applicable
Author

o conteúdo da variável v80p é esse: sum([Qtd Faturada (Kg)])*0.8

cesaraccardi
Specialist
Specialist

Essa expressão sum([Qtd Faturada (kg)])*0.8 está calculando 80% de cada linha da tabela, por isso vai retornar sempre 1. Você precisa de 80% do total, certo? Tenta substituir a referência à coluna [Qtd Faturada (kg)] pela expressão que ela contém.

Not applicable
Author

Faz sentido o que vc falou, mas eu não entendi como fazer isso, pois a coluna [QTD Faturada (Kg)] não contém nenhuma expressão.

cesaraccardi
Specialist
Specialist

Ah ok, entendi agora... [QTD Faturada (kg)] é um campo que você está carregando, não é? Eu pensei que fosse uma referência a alguma coluna da tabela. Tudo bem, tenta assim:

sum(total [Qtd Faturada (kg)])*0.8


O parâmetro total desconsidera as dimensões da tabela.

Not applicable
Author

Mesmo colocando o total, continua com 1 em todas as colunas.

Nas comunidades em ingles do qlikview tem algumas coisas relacionadas a regra de pareto, mas tá foda tb, ng tem uma resposta concreta.

Consegui. Tive que fazer o seguinte:

Criei uma coluna no meu gráfico que acumula a qtd faturada (kg) e sobre essa coluna fiz outra com a seguinte expressão:

if(rowno()=1 or above(Acumulador%)<v80p, 1)

Alterei também o valor da variável v80p para 80% e pronto, consegui pegar o valor da %

Créditos ao usuário John Witherspoon da comunidade Development (QlikView Desktop) que postou uma resolução parecida com o que eu precisava.

Agradeço ao Cesar Accardi Jr e ao Aderlan Rodrigues, que perderam o tempo deles para tentar me ajudar.

aderlanrm
Partner - Specialist
Partner - Specialist

Imagine Samuel, NUNCA é perda de tempo.

Cada ajuda que damos, ganhamos conhecimento... Tentei usar o ABOVE, mas no meu exemplo não funcionou, mas errei em não comentar com vocês! Rsrsrsrs... Com certeza esqueci algum detalhe, é o que dá fazer as coisas na correria...

Obrigado por colocar a resposta, muitos simplesmente desaparecem depois de resolver os problemas.

Não esqueça de marcar você mesmo como resposta, ajuda outras pessoas a achar soluções para o problemas delas, procurando por post respondidos.

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (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)