Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
robertafc
New Contributor

Fórmula IF

Bom dia!

Utilizo o Qliksense e estou fazendo a análise de dados de um questionário realizado em uma instituição. Há basicamente um campo de perguntas e outro de respostas, onde estão todas respostas misturadas para vários tipos de questões.

Montei uma tabela, por nome de funcionário, onde quero que mostre apenas os funcionários que atendam a todas as respostas filtradas ao mesmo tempo, ou seja, que tenham respondido para determinadas perguntas a combinação de respostas que filtrei, e não que atendam a algumas das respostas e outras não. Segue exemplo de filtro

filtros.PNG

Para isso, com ajuda, criei a fórmula

if(getselectedcount(Resposta)>0,  count( distinct {<NomePessoa={"=aggr(count(distinct Resposta),NomePessoa)=getselectedcount(Resposta)"}>} Resposta)  ,  count(distinct Resposta) )

no segundo campo da tabela, depois de nome do funcionario, para que a tabela mostre aqueles que responderam as questões com as respostas selecionadas.

Para a fórmula funcionar é necessário que a resposta para cada questão seja diferente (EX: Para nível de Excel a resposta é Avançado e para conhecimento em informática como programador a resposta é Alto)

tabela.PNG

Ocorre que, para um tipo de questão, competências que a pessoa domina, por exemplo, são várias questões (tipos de competências) e a resposta é DOMINO OU NÃO DOMINO. Ou seja, esse tipo de questão não segue a mesma lógica das outras, em que a resposta para cada questão é diferente da outra. Então, como a fórmula considera o campo resposta, quando seleciono, por exemplo, 3 tipos de competências e seleciono a resposta DOMINO, aparece na tabela quem domina ao menos uma das competências selecionadas, e não as 3.

competencias.PNG

A necessidade é poder fazer o cruzamento de todas as questões (conhecimentos em informática, idiomas, competências, etc) e aparecer na tabela aqueles que responderam estas apenas com as respostas selecionadas. Há alguma forma ou fórmula de eu conseguir fazer isso, mesmo que um tipo de questão utilize a mesma resposta?

Agradeço a ajuda,

Roberta

2 Replies
robertafc
New Contributor

Re: Fórmula IF

Outra Limitação dessa fórmula, é que por exemplo, se me interessar na busca nível alto e médio de conhecimento em informática, ele exclui todas as pessoas da lista, pois como na fórmula para uma pessoa aparecer na lista é preciso que ela tenha respondido todas as respostas, uma pessoa nunca ira responder a dois níveis em uma mesma questão!

rodolfoag
New Contributor II

Re: Fórmula IF

Roberta, já tentou

if(getselectedcount(Resposta)>0,  count( distinct {<NomePessoa={"=aggr(count(distinct Questao),NomePessoa)=getselectedcount(Questao)"}>} Resposta)  ,  count(distinct Resposta) )  


Na verdade se você tentar montar uma tabela com:

dimensão: servidor e medida: if(getselectedcount(Questao) = count(distinct Questao),1,0)  vai te dizer se o servidor atende ou não atende a todas as perguntas selecionadas, dado que você espera alguma das respostas selecionadas para essas perguntas.

Não sei se count(distinct Resposta) )  é exatamente o que você está buscando segundo sua descrição do problema.


espero ter ajudado.


RS