Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
alexsandreaguiar17
Explorer II
Explorer II

Calculo Turnover olhando o ano anterior

Boa tarde pessoal,

Realizo o calculo da taxa de turnover baseado na seguinte fórmula, onde pego os demitidos do ano e divido pelo total de funcionários ativos do ano corrente.

FÓRMULA

Sum({<CODTIPO = {'N'}, REGISTROFIMTURNOVER = {1}>} If(DATADEMISSAO >= DATAREGISTROINITURNOVER AND DATADEMISSAO <= DATAREGISTROFIMTURNOVER, 1, 0))
/
Sum({<CODTIPO = {'N'}, REGISTROFIMTURNOVER = {1}>} If(DATAADMISSAO <= DATAREGISTROFIMTURNOVER AND (DATADEMISSAO > DATAREGISTROFIMTURNOVER OR IsNull(DATADEMISSAO)), 1, 0))
year(DATAREGISTROFIMTURNOVER)

Essa fórmula consulta o seguinte calendário, criado na carga do projeto, que trás para cada mês todos os funcionários com suas datas de admissão e demissão .

CALENDARIO_TURNOVER:
LOAD
RangeMin(Match(DATAREGISTRO, DATAREGISTROFIM, DayName(Today() - 1)), 1) AS REGISTROFIMTURNOVER
, RangeMin(Match(DATAREGISTRO, DATAREGISTROFIMANO, DayName(Today() - 1)), 1) AS REGISTROFIMANOTURNOVER
, Fabs(DATAADMISSAO <= DATAREGISTRO and DATAREGISTRO < Alt(DATADEMISSAO, Today())) as REGISTROTURNOVER
, Text(Date(DATAREGISTRO, 'YYYY-MM')) as ANOMESREGISTROTURNOVER
, Year(DATAREGISTRO) as ANOREGISTROTURNOVER
, Month(DATAREGISTRO) as MESREGISTROTURNOVER
, CHAPA
, DATAREGISTROFIM as DATAREGISTROFIMTURNOVER
, DATAREGISTROINI as DATAREGISTROINITURNOVER
;

 

LOAD
DayName(MonthEnd(DayName(Today(), -IterNo()))) as DATAREGISTROFIM
, DayName(YearEnd(DayName(Today(), -IterNo()))) as DATAREGISTROFIMANO
, DayName(MonthStart(DayName(Today(), -IterNo()))) as DATAREGISTROINI
, DayName(Today(), -IterNo()) as DATAREGISTRO
, CHAPA
, DayName(DATADEMISSAO) as DATADEMISSAO
, DayName(DATAADMISSAO) as DATAADMISSAO
WHILE
DAYNAME(TODAY(), -ITERNO()) >= YEARSTART(TODAY(), -5)
;

 

LOAD
CHAPA,
DATAADMISSAO,
DATADEMISSAO
FROM teste.qvd;

A pergunta é: baseado na fórmula e nesse calendário, como posso realizar o cálculo olhando para o ano anterior ao invés do corrente? Ex.: total de demitidos de 2020 / total ativos 2019, total de demitidos de 2019 / total ativos 2018

1 Reply
nicolett_yuri

Sem um painel de exemplo vai ficar complicado de te ajudar na fórmula, mas eu acho que você pode facilitar a sua vida, se gerar uma tabela simplificando seus cálculos, pq não tenta chegar em uma tabela, contendo as seguintes informações:

 

Dia, Funcionário, DataDemissão, DataAdmissão, Flag_Funcionário_Ativo

 

Se conseguir chegar nessa data, bastaria CONTAR o funcionário na dimensão de período desejada, usando set analysis para setar se o funcionário estava ativo ou não no período desejado. 

A princípio pode parecer mais difícil (vai ter que modelar um pouco), mas todos os seus objetos terão uma fórmula muito mais simples, inclusive para setar uma análise em relação ao ano anterior, por exemplo.