Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Dificuldade com IF

Prezados,

Comecei a usar o Qlik semana passada, ainda tenho muitas dificuldades com as funções... No Excel eu consigo fazer o que quero, mas no Qlik está difícil.

Os dados estão dispostos assim:

ID_SERVIDORTIPO_VINCULODESCRICAO_VINCULO_CARGO
10001Comissionado
10011Comissionado
10021Comissionado
10022Efetivo
10031Comissionado
10032Efetivo
10033Outra situação
10042Efetivo

Um cargo comissionado pode ser ocupado por um efetivo (ex: 1002) ou por um 'estranho'. Quando ocupado por um estranho, esse estranho será apenas comissionado.

Problema: saber quantos cargos comissionados são ocupados por estranhos e quantos por efetivos.

No exemplo acima há 4 cargos comissionados, 3 efetivos e 1 em 'outra situação'. Dos 3 efetivos, 2 ocupam cargos comissionados, logo 50% dos cargos comissionados são ocupados por efetivos.

Consegui algo parecido numa lista usando uma somas e médias, mas não num gráfico de pizza.

Na lista, coloquei o ID_SERVIDOR como dimensão e a EXPRESSÃO a seguir:

If(Avg(TIPO_VINCULO)=1,'Comissionado',If(Avg(TIPO_VINCULO)=2 and Sum(TIPO_VINCULO)=2,'Efetivo',If(Avg(TIPO_VINCULO)=1.5 and Sum(TIPO_VINCULO)=3,'Efetivo + Cargo/Função',If(Avg(TIPO_VINCULO)=2 and Sum(TIPO_VINCULO)=6,'Efetivo + Cargo/Função etc','Indefinido'))))

O resultado foi isso:

Capturar.PNG

Exportei isso para o Excel e deu o seguinte gráfico dinâmico:

GRÁFICO.PNG

Quando tento fazer isso no Qlik, ou não exibe dados ou dá "Erro na dimensão calculada".

Agradeço desde já.

Sds,

Sérgio

7 Replies
Not applicable
Author

poderia postar um qvw como exemplo para entendermos melhor seu problema.

😃

Not applicable
Author

Felipe, veja se consegue baixar, por favor...

Seria esse gráfico:

graf_tipo_vinculo.PNG

Faltam duas situações: Efetivo + Cargo/Função Comiss.; Efetivo + Cargo/Função Comiss. + Indefinido

Obrigado!

Not applicable
Author

uma dica rápida que vai te salvar , 😃

Nunca passe pra ninguem suas aplicações ou dados da sua empresa , caso as informações estejam embaralhadas ok mas , caso não pode acarretar em sérios problemas .

Se essa for sua aplicação normal exclua ela da comunidade por questão de segurança para a sua pessoa . 😃

estou fazendo um exemplo pra vc aqui  ,e já deixando uma deixa nas chaves das tabelas concatene o nome com o cpf da pessoa.... assim...

nome&'|'&CPF as chave_tabelas

Not applicable
Author

Felipe, agradeço... essas infos são de interesse público e disponíveis no portal da transparência. Por desencargo de consciência segui seu conselho.

O problema não é bem as chaves das tabelas, pois há uma chave unívoca chamada ID_SERVIDOR.

Novamente, agradeço sua disposição em ajudar!

Not applicable
Author

No caso Sérgio vc atualmente está usando uma dimensão calculada ,(uma dica: dimensões calculadas são usadas em ultimo caso se vc não conseguir de forma alguma resolver no script)

Uma pergunta , na dimensão Tipo_vinculo como chegaria ao resultado de 1.5 ou soma de 6 no campo ?

Not applicable
Author

Felipe,

Os valores possíveis para TIPO_VINCULO são: 1, 2, 3. Respectivamente, comissionado, efetivo e outra situação/indefinido.

Cada servidor (ID_SERVIDOR) pode ter um, dois ou três tipos de vínculo.

Se um servidor tem os vínculos 1 e 2, a soma será 3 e a média 1,5.

Se outro servidor tem os vínculos 1, 2 e 3, a soma será 6 e a média 2.

Eu pensei em usar esse truque de somas e médias, mas talvez um IF com vários AND ou OR resolva... Só não consegui montar a função.

Obrigado pela dica das dimensões!

Clever_Anjos
Support
Support

Já conseguiu solucionar? Se sim, marque uma das respostas como "Correta" e nos ajude a manter os foruns organizados