Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
carlos_esousa
New Contributor III

Contar operadores por que atingiram as metas

Oi pessoal, boa tarde!

Em um objeto de texto tenho a seguinte expressão, a qual calculo a média de satisfação de uma operação de atendimento.

=num((count(DISTINCT {< [1ª Pergunta] = {'Ótimo' , 'Bom'} >} Prot_Atendimento) + count(DISTINCT {< [3ª Pergunta] = {'Ótimo' , 'Bom'} >} Prot_Atendimento)) / (count(DISTINCT {< [1ª Pergunta] = {'Ótimo' , 'Bom' , 'Regular' , 'Ruim'} >} Prot_Atendimento) * 2),'#,##%')

Nessa operação, temos 42 operadores, onde em uma tabela dinâmica (chamada Operadores), consigo identificar através desta mesma fórmula a média de satisfação de cada um deles.

Da mesma forma que consigo calcular o resultados dos operadores, consigo calcular os resultados por data (chamada Data).

Agora, preciso criar um outro objeto de texto que conte quantas operadores e datas estão enquadrados em cada quadrante de resultado:

< 65%:

>= 65% < 70%:

>= 70% < 75%:

>= 75%

Alguém tem alguma sugestão de como devo proceder?

Caso ajude, anexe segue arquivo exemplo.


Obrigado!

Att,

Carlos Eduardo de Sousa

1 Solution

Accepted Solutions
MVP
MVP

Re: Contar operadores por que atingiram as metas

Carlos,

da para fazer usando aggr()

exemplo.png

4 Replies
MVP
MVP

Re: Contar operadores por que atingiram as metas

Carlos,

da para fazer usando aggr()

exemplo.png

carlos_esousa
New Contributor III

Re: Contar operadores por que atingiram as metas

Oi Alessandro,

Agradeço a sugestão.

Bem, se você puder detalhar melhor como fez agradeço, pois ainda estou em fase de aprendizado.

Depois de algumas tentativas, utilizei a seguinte expressão e aparentemente deu certo, mas não sei se é a melhor alternativa:

=Count( {< Nom_Colaborador ={"=  (count(DISTINCT {< [1ª Pergunta] = {'Ótimo' , 'Bom'} >} Prot_Atendimento)+count(DISTINCT {< [3ª Pergunta] = {'Ótimo' , 'Bom'} >} Prot_Atendimento))/(count(DISTINCT {< [1ª Pergunta] = {'Ótimo' , 'Bom' , 'Regular' , 'Ruim'} >} Prot_Atendimento) * 2) < 0.65" }>} DISTINCT Nom_Colaborador)

Faz sentido assim?

Obrigado!

Employee
Employee

Re: Contar operadores por que atingiram as metas

Tente assim, variando o 0.65 para as outras faixas

=Sum(Aggr(

If ((

count(DISTINCT {< [1ª Pergunta] = {'Ótimo' , 'Bom'} >} Prot_Atendimento) +

count(DISTINCT {< [3ª Pergunta] = {'Ótimo' , 'Bom'} >} Prot_Atendimento)) /

(count(DISTINCT {< [1ª Pergunta] = {'Ótimo' , 'Bom' , 'Regular' , 'Ruim'} >} Prot_Atendimento) * 2) < 0.65,1,0)

,Nom_Colaborador

))

A sua expressão via Set Analysis também faz sentido sim

MVP
MVP

Re: Contar operadores por que atingiram as metas

Carlos,

tanto eu como o cleveranjos‌ usamos o mesmo artificio para resolver, usando o aggr() (que a grosso modo seria um group by do SQL).

No modelo que disponibilizei e a expressao do Clever usam o aggr

=sum(if(aggr(

  (count(DISTINCT {< [1ª Pergunta] = {'Ótimo' , 'Bom'} , Marca = {'Marca_01' , 'Marca_02'} >} Prot_Atendimento)

  +

  count(DISTINCT {< [3ª Pergunta] = {'Ótimo' , 'Bom'} , Marca = {'Marca_01' , 'Marca_02'} >} Prot_Atendimento))

  /

  (count(DISTINCT {< [1ª Pergunta] = {'Ótimo' , 'Bom' , 'Regular' , 'Ruim'} , Marca = {'Marca_01' , 'Marca_02'} >} Prot_Atendimento) * 2)

,Nom_Colaborador)<.65,1))

A expressão acima, verifica para cada Colaborador se ele esta abaixo dos 65% e se estiver soma 1.

Mais sobre aggr() podes achar nestes post do hic‌   

Use Aggregation Functions!

When should the Aggr() function NOT be used?

Pitfalls of the Aggr function