Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
marciomgm
Creator
Creator

Analise Pareto curva ABC quantitativa por produto

Seguindo o tutorial Recipe for a Pareto Analysis

Consegui aplicar perfeitamente em minha base de dados de produtos.

Agora estou tentando classificar  a curva ABC por quantidade de vendas e não mais pelo total R$ de vendas.

O resultado que preciso é saber a quantidade total de produtos para cada curva conforme exemplo abaixo:

CURVAQUANTIDADE DE PRODUTOS
A1.000
B4.000
C5.000
Labels (3)
1 Solution

Accepted Solutions
nicolett_yuri

Marcio, entendo que seria apenas uma mudança de expressão, passando a considerar um COUNT

View solution in original post

13 Replies
nicolett_yuri

Marcio, entendo que seria apenas uma mudança de expressão, passando a considerar um COUNT

maiconmello
Creator III
Creator III

Bom dia Marcio Morais, geralmente utilizo o Rank.

rank(campo)  define como inteiro. Gráfico tabela simples.

rank abc.PNG

marciomgm
Creator
Creator
Author

Foi a primeira coisa que tentei mas não funcionou, os valores não batem

marciomgm
Creator
Creator
Author

o problema é que preciso contar a partir de uma classificacao já existente conforme o exemplo do tutorial Recipe for a Pareto Analysis

Anonymous
Not applicable

Se possível poste um qvw de exemplo.

marciomgm
Creator
Creator
Author

Segue o QVW

A tabela ABC Vendas está correta.

Mas a tabela ABC Quantitativa está informando as quantidades erradas.

A curva A não possui 1001 produtos e sim 117

A curva B o certo seriam 177, curva C o certo 266

Anonymous
Not applicable

Acredito que a melhor forma de fazer isso é definir sua classificação já no script , criando um campo ABC.

Mas caso você precise fazer na aplicação mesmo, eu traria os dados já de forma decrescente pelo campo MEDIA e tentaria algo assim na dimensão:

if( aggr(RangeSum(Above(sum(MEDIA), 1, RowNo())) / sum(total MEDIA) , CODPROD) <= 0.50 , 'A' , ....

marciomgm
Creator
Creator
Author

A classificação está fazendo tudo certinho acho que falta algum detalhe nas configurações no tempo de execução na tabela ABC Quantitativa. Parece que o qlikview não está entendendo da forma que deveria.

Anonymous
Not applicable

olhando sua dimensão da tabela ABC Quantitativa, imagino que seu if esta sendo interpretado assim:

if( rank / total de produtos <= 0.5 , 'A' ...

1001 / 2000 (total de produtos) = 0.5005 (arredonda pra 0.5)

ou seja tudo que o resultado do rank for <= 1001 vai contar

if( rank / total de produtos <= 0.7 , 'B' ...


1401/ 2000 = 0.7005 (arredonda pra 0.7)  ou seja tudo que nao é A (rank até 1001) e o resultado do rank é <= 1401, vai contar , ou seja , 1401-1001 = 400 ....

e assim por diante....

pra chegar no resultado que você quer por uma expressão, a única maneira que eu consigo ver no momento é se seus dados dessa tabela já vierem classificados no script de forma decrescente pelo campo MEDIA, dai essa expressão funcionaria:

if( aggr(RangeSum(Above(sum(MEDIA), 1, RowNo())) / sum(total MEDIA) , CODPROD) <= 0.50 , 'A' , ...


Não sei se deu pra entender a idéia....


Mas ainda acho que a melhor maneira é criar esse campo de classificação no script.