Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
marciomgm
New Contributor III

Curva ABC Quantitativa utilizando COUNT

Já baixei vários exemplos e li alguns artigos aqui no forum mas mesmo assim não consigo.

Estou tentando criar uma coluna Curva ABC para identificar os produtos com maior representatividade em movimentações. A,B,C ou X

Os cálculos de todas as colunas eu consegui fazer e estão OK! O problema é apenas na coluna Curva ABC, que sempre exibe o resultado = C

Veja a expressão que eu criei para a coluna Curva ABC:

=IF ([Acumulado] <= 0.4, 'A',

  IF ([Acumulado] <= 0.9, 'B',

  IF ([Acumulado] > 1, 'C','X')

  )

)

Screen Shot 2015-06-10 at 09.47.03.png

Expressão da Coluna Movimentações

count(IDTAREFA)    [ ] Relativo

Expressão da Coluna Participação

count(IDTAREFA)    Relativo

Expressão da Coluna Acumulado:
=Resultado da coluna Participação e Marquei a opção Acumular e Relativo

Screen Shot 2015-06-10 at 09.53.29.png

Eu também gostaria de criar uma tabela da seguinte forma:

CURVAQuantidade de PRODUTOS para cada curva
A2.000
B1.500
C500
X3.000

Grato em quem puder me ajudar.

1 Solution

Accepted Solutions

Re: Curva ABC Quantitativa utilizando COUNT

Utilize COUNT(TOTAL movimentos_de_produtos)

O TOTAL possui o parâmetro de quebras, então caso precise considerar o total de alguma dimensão, então faça assim:

COUNT(TOTAL <CAMPO1,CAMPO2,CAMpo3>movimentos_de_produtos)


15 Replies
Employee
Employee

Re: Curva ABC Quantitativa utilizando COUNT

See Recipe for a Pareto Analysis for a description how to do this.

I would not use the built-in "Relative" or the "Full Accumulation". I would normalize and accumulate the numbers myself.

HIC

Re: Curva ABC Quantitativa utilizando COUNT

Marcio, quando utilizamos o acumulado na opção da expressão, esse valor (da coluna) não consegue ser reaproveitada para outros cálculos. Você precisa fazer o acumulado via código

Segue um artigo que escrevi sobre isso: Acumulado com Expressão

marciomgm
New Contributor III

Re: Curva ABC Quantitativa utilizando COUNT

That was the only way I could make it work and excellent performance.

Do you know why the letters A, B, C, X does not change the way I like it?

jeanlipes
Contributor II

Re: Curva ABC Quantitativa utilizando COUNT

Bom dia,

Fiz algo assim:

A var PED_QTD_VENDIDO tem o valor da quantidade vendida...

IF(RANGESUM(ABOVE(SUM(PED_QTD_VENDIDO)/SUM(TOTAL PED_QTD_VENDIDO),1,RowNo()),SUM(PED_QTD_VENDIDO)/SUM(TOTAL PED_QTD_VENDIDO)) <= 0.50, 'A',

    IF(RANGESUM(ABOVE(SUM(PED_QTD_VENDIDO)/SUM(TOTAL PED_QTD_VENDIDO),1,RowNo()),SUM(PED_QTD_VENDIDO)/SUM(TOTAL PED_QTD_VENDIDO))  <= 0.80, 'B','C'))

marciomgm
New Contributor III

Re: Curva ABC Quantitativa utilizando COUNT

EXCELENTE artigo Yuri!

Estou quase conseguindo.

A minha dúvida agora foi para a coluna %participação que reparei que os valores estão errados. Eu preciso faze-la sem usar a opção relative. Como eu faria isso?


Seguindo o meu exemplo eu preciso achar o % de participação do produto em relação ao total de movimentações.

Total de Movimentação = 12.035, ou seja,  COUNT(movimentos_de_produtos)

Então o produto código 33984, possui 3.861 movimentações então:  3.861 / 12.035 * 100 = 32%


Como eu consigo "fixar" o valor 12.035 para calcular cada item da tabela?



Re: Curva ABC Quantitativa utilizando COUNT

Utilize COUNT(TOTAL movimentos_de_produtos)

O TOTAL possui o parâmetro de quebras, então caso precise considerar o total de alguma dimensão, então faça assim:

COUNT(TOTAL <CAMPO1,CAMPO2,CAMpo3>movimentos_de_produtos)


marciomgm
New Contributor III

Re: Curva ABC Quantitativa utilizando COUNT

Yuri muito obrigado pela ajuda mas ainda não consegui resolver a coluna de % participação.

Eu tentei usar a expressão:

count(movimentos_de_produtos)  /  count(movimentos_de_produtos)

Os resultados ficaram errados ai constatei que o problema  é o total.

Veja que a coluna MOVIMENTAÇÕES  é igual a  count(movimentos_de_produtos)
Então a soma total da quantidade de movimentações de cada produto = 1.695.562

Exemplo primeiro produto da lista:

33984  possui um total de 3.861 movimentações então o % de participação seria: 3.861 / 1.695.562 * 100 = 0,22%

O sistema exibe 1,77%

Screen Shot 2015-06-10 at 14.34.25.png


Modifiquei apenas para tentar achar o valor de 1.695.562 mas veja que o sistema exibe 218090

Screen Shot 2015-06-10 at 14.20.32.png

Coisa de doido isso aqui

Re: Curva ABC Quantitativa utilizando COUNT

Existe algum CODPROD nulo com movimentação?

marciomgm
New Contributor III

Re: Curva ABC Quantitativa utilizando COUNT

Não