Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
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
Employee
Employee

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