Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Cálculo. count x sum

Pessoal, preciso da ajuda de vocês.

Com esse cálculo:

se o semestre <= 2051.1 ele conta qtd alunos contratados e / pelo total de alunos.

se o semestre >= 2015.2, ele conta qtd de alunos contratados e / pelo total de vagas.

Como fazer esse cálculo ?

num((count(distinct if(SEMESTRE <= '2015.1' and SITUACAO_ADIT = 'Contratado',CPF))

                  /

count(distinct if(SEMESTRE <= '2015.1',CPF))),'##.##%')

        or

num(count(distinct if(SEMESTRE >= '2015.2' and SITUACAO_ADIT = 'Contratado',CPF))

                 /

sum(if(SEMESTRE >= '2015.2',VAGASOFERTADAS)),'##.##%') 

1 Solution

Accepted Solutions
mario_sergio_ti
Valued Contributor

Re: Cálculo. count x sum

Amigo;

Estranho, o meu não deu 100%, segue em anexo;

Mas já que não pode ser SITUAÇÃO_ADIT='Contratado', vejo que seja só remover;

Num(

    Count({<SITUACAO_ADIT={'Contratado'} >} Distinct CPF)

    /

    (

          Count({<SEMESTRE_NUM={"<=20151"} >} Distinct CPF)

          +

          Sum({<SEMESTRE_NUM={">=20152"} >} VAGASOFERTADAS)

    )

,'##,##%')

17 Replies
mario_sergio_ti
Valued Contributor

Re: Cálculo. count x sum

Amigo, segue:

Caso | Semestre <= 2051.1:

Num(

  Count({<SEMESTRE={"<='2015.1'"}, SITUACAO_ADIT={'Contratado'} >} Distinct CPF)

  /

  Count({<SEMESTRE={"<='2015.1'"}, SITUACAO_ADIT={'Contratado'} >} Distinct Total CPF)

,'##.##%')

Caso | Semestre >= 2051.2:

Num(

  Count({<SEMESTRE={">='2015.2'"}, SITUACAO_ADIT={'Contratado'} >} Distinct CPF)

  /

  Count({<SEMESTRE={">='2015.2'"}, SITUACAO_ADIT={'Contratado'} >} Distinct Total CPF)

,'##.##%')

Not applicable

Re: Cálculo. count x sum

Amigo, o resultado terá que ficar no mesmo campo (% contratado), isto é, esses 2 cálculos tem como ficar na mesma expressão ?

exemplo.jpg

mario_sergio_ti
Valued Contributor

Re: Cálculo. count x sum

Na expressão que postei anteriormente, esqueci de me atentar que depois de >=2015.2 não é para contar CPF, mas sim somar as vagas ofertadas;


E já que é um visualizador Mostrador, não precisa utilizar Total na expressão;

Faz o seguinte então:

Num(

    Count({<SITUACAO_ADIT={'Contratado'} >} Distinct CPF)

    /

    (

          Count({<SEMESTRE={"<='2015.1'"}, SITUACAO_ADIT={'Contratado'} >} Distinct CPF)

          +

          Sum({<SEMESTRE={">='2015.2'"}, SITUACAO_ADIT={'Contratado'} >} VAGASOFERTADAS)

    )

,'##.##%')  

Not applicable

Re: Cálculo. count x sum

Não deu certo

não retornou nada.

exemplo2.jpg

mario_sergio_ti
Valued Contributor

Re: Cálculo. count x sum

Cria uns visualizadores KPI e testa as expressões por parte;

Veja se retorna:

Count({<SITUACAO_ADIT={'Contratado'} >} Distinct CPF)


E depois veja se retorna:

Count({<SEMESTRE={"<='2015.1'"}, SITUACAO_ADIT={'Contratado'} >} Distinct CPF)


E por fim:

Sum({<SEMESTRE={">='2015.2'"}, SITUACAO_ADIT={'Contratado'} >} VAGASOFERTADAS) 


Favor, apresente o resultado de cada um.

mario_sergio_ti
Valued Contributor

Re: Cálculo. count x sum

Teste também tirar o aspas simples e testar

Not applicable

Re: Cálculo. count x sum

Somente a primeira está funcionando.

  1. Count({<SITUACAO_ADIT={'Contratado'} >} Distinct CPF) 

as outras 2 da zero.

Sum({<SEMESTRE={">='2015.2'"}, SITUACAO_ADIT={'Contratado'} >} VAGASOFERTADAS)  = 0

Sum(if(SEMESTRE >= '2015.2' and SITUACAO_ADIT = 'Contratado',VAGASOFERTADAS))  = 3005

Mas mesmo mudando a sua regra(somando os 2 resultados) e colocando a minha, só da 100%, mas o resultado não é esse..

mario_sergio_ti
Valued Contributor

Re: Cálculo. count x sum

Estranho, uma vez que você tem um valor menor no numerador, não tem como ser igual a 100%, só se a soma de VAGASOFERTADAS não estiver trazendo nada para o denominador;

Então o numerador faz a contagem de CPF únicos de todos, passado e no orçado no contexto;

E o denominador traz a contagem de CPF únicos com <='2015.1' e soma as vagas posteriores ao semestre com VAGASOFERTADAS >='2015.2', ou seja, o resultado esperado é menor que 100%, pois o denominador tende a ter um valor maior que o numerador.

Teste:

Sum({<SEMESTRE={">=2015.2"}, SITUACAO_ADIT={'Contratado'} >} VAGASOFERTADAS)

ou

Sum({<SEMESTRE={">= 2015.2"}, SITUACAO_ADIT={'Contratado'} >} VAGASOFERTADAS)

ou

Sum({<SEMESTRE={"$(= ‘>=‘ & 2015.2)"}, SITUACAO_ADIT={'Contratado'} >} VAGASOFERTADAS)

ou

Sum({<SEMESTRE={"$(= ‘>=‘ & ‘2015.2‘)"}, SITUACAO_ADIT={'Contratado'} >} VAGASOFERTADAS)

Not applicable

Re: Cálculo. count x sum

Amigo, só retorna zero as 4 fórmulas.

Eu estou usando o Qlik Sense, pode ser isso ?

O engraçado que essa fórmula retorna:

Sum(if(SEMESTRE >= '2015.2' and SITUACAO_ADIT = 'Contratado',VAGASOFERTADAS))