Skip to main content

Brasil

Announcements
Welcome to Qlik Community! Check out our new navigation! FIND OUT MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
carlos_esousa
Contributor III
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

Labels (3)
1 Solution

Accepted Solutions
afurtado
MVP
MVP

Carlos,

da para fazer usando aggr()

exemplo.png

furtado@farolbi.com.br

View solution in original post

4 Replies
afurtado
MVP
MVP

Carlos,

da para fazer usando aggr()

exemplo.png

furtado@farolbi.com.br
carlos_esousa
Contributor III
Contributor III
Author

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!

Clever_Anjos
Employee
Employee

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

afurtado
MVP
MVP

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

furtado@farolbi.com.br