Qlik Community

New to Qlik Sense

Discussion board where members can get started with Qlik Sense.

fernandoicosta
New Contributor III

Como contar o numero de clientes que atender uma regra "E"

Ola! estou tentando criar um contador de numero de clientes que atender a regra de compra de dois itens que são obrigatórios para ele ser considerado "positivado".

Seria mais ou menos conforme abaixo, mas esta dando erro:

Count (Distinct {$<Cod_produto={'20017'},Segmento_Cliente={'A','B'}>}Cod_Cliente) E

Count (Distinct {$<Cod_produto={'83778'},Segmento_Cliente={'A','B'}>}Cod_Cliente)

Desde já agradeço a atenção de quem puder me ajudar.

Help me !!!

Tags (1)
1 Solution

Accepted Solutions
MVP
MVP

Re: Como contar o numero de clientes que atender uma regra "E"

Fernando, bom dia.  Quem sabe

sum(aggr(if(

            rangesum(if(Count({<Produto={'A','B'}>} DISTINCT Produto)>=1,1),0)

            +

            rangesum(if(Count({<Produto={'C'}>} DISTINCT Produto)=1,1),0)

            +

            rangesum(if(Count({<Produto={'D','E'}>} DISTINCT Produto)>=1,1),0)

            =3,1)

        ,Cliente)

)

6 Replies
fernandoicosta
New Contributor III

Re: Como contar o numero de clientes que atender uma regra "E"

Detalhe, eu preciso somar o numero de clientes que atenderem esta regra.

MVP
MVP

Re: Como contar o numero de clientes que atender uma regra "E"

Fernando,  nao seria isto:

Count (Distinct {$<Cod_produto={'20017','83778'},Segmento_Cliente={'A','B'}>}Cod_Cliente)


Fiz um exemplo com clientes que compraram itens somente A e B e no meu exemplo seriam os clientes 1 e 4

2015-10-04 15_21_01.jpg


MVP
MVP

Re: Como contar o numero de clientes que atender uma regra "E"

Fernando, se quiser o total de clientes pode usar esta expressao

sum(aggr(if(Count({<Produto={'A','B'}>} DISTINCT Produto)=2,1),Cliente))

Segue modelo com um objeto de texto com o total.

fernandoicosta
New Contributor III

Re: Como contar o numero de clientes que atender uma regra "E"

Alessandro, Ficou perfeito sua explicação pois era parte disso mesmo que estava procurando.

Mas faltou apenas um detalhe, no exemplo que coloquei acima, preciso tratar o cliente que comprou qualquer um dos itens "A,B", mas para ser positivado ele tem que comprar o item "C" também ou item "D,E".

sum(aggr(if(Count({<Produto={'A','B'}>} DISTINCT Produto)=2,1),Cliente)) and

sum(aggr(if(Count({<Produto={'C'}>} DISTINCT Produto)=1,1),Cliente)) and

sum(aggr(if(Count({<Produto={'D','E'}>} DISTINCT Produto)=2,1),Cliente))

Se a soma das três linhas for maior ou igual a 2, o cliente é positivado.

Neste caso poderia dar um valor 1 para cada linha e se o resultado for maior ou igual a 2, positivado.

Ainda estou sofrendo para chegar nesta função.

Grato mais uma vez pela sua ajuda.

MVP
MVP

Re: Como contar o numero de clientes que atender uma regra "E"

Fernando, bom dia.  Quem sabe

sum(aggr(if(

            rangesum(if(Count({<Produto={'A','B'}>} DISTINCT Produto)>=1,1),0)

            +

            rangesum(if(Count({<Produto={'C'}>} DISTINCT Produto)=1,1),0)

            +

            rangesum(if(Count({<Produto={'D','E'}>} DISTINCT Produto)>=1,1),0)

            =3,1)

        ,Cliente)

)

fernandoicosta
New Contributor III

Re: Como contar o numero de clientes que atender uma regra "E"

Alessandro,

Obrigado pela sua resposta, fechou minha necessidade.

Forte abraço e boa semana !!!