Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Preciso apresentar no gráfico a quantidade de funcionários que detém determinada qualificação(competência).
Vamos supor no exemplo abaixo.
Possuo 22 funcionários que conhecem SQL e cada qual com um determinado nível de conhecimento (id_nível).
Ao selecionar o id_Nivel 4, o gráfico apresenta a contagem de 5 funcionários, porém, eu quero que a contagem apresente 13 funcionários, ou seja, me mostre a quantidade do nível filtrado mais a quantidade do nível acima. (contagem dos funcionários onde o nível seja >= 4)
Só pra explicar um pouco do que fiz:
If(GetSelectedCount(id_Nivel)<1, //Aqui se não houver nível selecionado contamos todos os funcionários
count(SUA_DIMENSAO_FUNCIONARIO),
If(GetSelectedCount(id_Nivel)>1, //Aqui se houver mais de um nível selecionado pegamos o menor nível e contamos a partir dele
count({<CD_NOTA{">=$(=num(Left(GetFieldSelections(id_Nivel),1)))"}>}SUA_DIMENSAO_FUNCIONARIO),count({<id_Nivel=">=$(=GetFieldSelections(id_Nivel))"}>}SUA_DIMENSAO_FUNCIONARIO))
)
Por que o left aqui?
num(Left(GetFieldSelections(id_Nivel),1)
Como o GetFieldSelections devolve uma string preciso "extrair" dessa string o valor que ocupa a primeira posição, ou seja, o menor nível selecionado. Daí o converto em número pra não bugar o set analysis.
Que tal isso:
Count({<id_Nivel={">=$(=GetFieldSelections(id_Nivel))"}>}DISTINCT SUA_DIMENSAO_FUNCIONARIO)
O GetFieldSelections(id_Nivel) fará o trabalho de deixar o gráfico como você quer. Repare que enquanto não houver nível selecionado, com essa fórmula o resultado é zero. Mas podemos tratar isso (o fato de não haver nível selecionado).
Ficaria assim:
If(GetSelectedCount(id_Nivel)<1,count(SUA_DIMENSAO_FUNCIONARIO),
If(GetSelectedCount(id_Nivel)>1,count({<CD_NOTA{">=$(=num(Left(GetFieldSelections(id_Nivel),1)))"}>}SUA_DIMENSAO_FUNCIONARIO),count({<id_Nivel=">=$(=GetFieldSelections(id_Nivel))"}>}SUA_DIMENSAO_FUNCIONARIO))
)
Só pra explicar um pouco do que fiz:
If(GetSelectedCount(id_Nivel)<1, //Aqui se não houver nível selecionado contamos todos os funcionários
count(SUA_DIMENSAO_FUNCIONARIO),
If(GetSelectedCount(id_Nivel)>1, //Aqui se houver mais de um nível selecionado pegamos o menor nível e contamos a partir dele
count({<CD_NOTA{">=$(=num(Left(GetFieldSelections(id_Nivel),1)))"}>}SUA_DIMENSAO_FUNCIONARIO),count({<id_Nivel=">=$(=GetFieldSelections(id_Nivel))"}>}SUA_DIMENSAO_FUNCIONARIO))
)
Por que o left aqui?
num(Left(GetFieldSelections(id_Nivel),1)
Como o GetFieldSelections devolve uma string preciso "extrair" dessa string o valor que ocupa a primeira posição, ou seja, o menor nível selecionado. Daí o converto em número pra não bugar o set analysis.
Bom dia Carlos,
Se alguma das soluções apresentadas lhe serviu para resolver o problema, favor, feche a thread marcando aquelas respostas que lhe foram úteis com a flag "Útil" e escolha uma para marcar como "Correta".
Manual do usuário | Como criar e gerir minhas perguntas?
Abs e Sucesso!
Thiago, bom dia!
Sua resposta me ajudou bastante e atendeu perfeitamente a pergunta que eu fiz, só que testando em minhas dimensões encontrei alguns problemas, um deles foi que a análise funcionava apenas se eu clicasse no filtro de nível e eu preciso utilizar essa contagem quando o filtro de outras dimensões afetassem o nível.
Com sua explicação pesquisei mais um pouco e estudei melhor o set analysis e cheguei ao resultado abaixo
=Count({$1<id_Nivel_Recurso={">=$(varNivelRecurso)"}, id_Competencia_Recurso={$(varCompetencia)}>}CompetenciaRecurso)
Ao selecionar qualquer objeto que afete a dimensão "id_nivel" eu armazeno o nível na variável e adicionei na expressão a competência também, e sempre que, por exemplo, eu quiser verificar as competências necessárias para um projeto com seu respectivo nível desejado, consigo visualizar quantos funcionários tenho a disposição.
Obrigado e espero que possamos continuar a nos auxiliar!
Perfeito Carlos! A ideia da comunidade é mesmo, trocar experiencias e ajudarmos uns aos outros.
Considero sempre importante fazer o que você fez: não ficar preso à solução dada aqui e pesquisar as funções e métodos que desconhecemos sempre no Qlik Help.
E ficamos assim; sempre que precisar, estamos à disposição!
Abs e Sucesso!!