4
respostas

[ERRO?] Fórmula do Absenteísmo

Olá pessoal!

Fiquei bastante confuso com as dimensões da fórmula (multiplicação e divisão pela quantidade total de colaboradores, o que poderia ser facilmente simplificado algebricamente) do absenteísmo e com seu valor baixo suspeito (0,16%), então investiguei mais a fundo. Se entendi bem, nessa análise a taxa de absenteísmo refere-se ao somatório das faltas de todos os trabalhadores no mês dividido pela "quantidade máxima trabalhável" (total de trabalhadores * dias de trabalho) e multiplicado por 100 para ter-se a porcentagem. Ficaria assim:

(SUM(Faltas) / (COUNT(IdColaborador) * 20)) * 100

dando um total de 51,19%, muito mais alto que 0,16%.

Entendi algo errado?

Obs: No Dataset temos vários colaboradores com grande número de faltas e nenhum com zero, o que explicaria o alto absenteísmo.

4 respostas

Olá, Rafael, tudo bem?

Vamos esclarecer cada ponto para que tudo fique mais claro para você.

De acordo com sua explicação, a fórmula que você encontrou para calcular o absenteísmo é a seguinte:

(SUM(Faltas) / (COUNT(IdColaborador) * 20)) * 100

Aqui, "SUM(Faltas)" representa o somatório das faltas de todos os colaboradores em um determinado mês, e "COUNT(IdColaborador)" é a contagem total de colaboradores no mesmo período. O valor "20" refere-se aos dias de trabalho no mês.

Você mencionou que o valor resultante foi de 51,19%, muito maior do que o esperado. Acredito que você esteja correto em questionar isso, pois a taxa de absenteísmo geralmente não é tão alta.

Após analisar a fórmula, percebi que o erro está na maneira como ela foi escrita. O cálculo correto do absenteísmo deve ser a soma das faltas dividida pelo total de dias de trabalho efetivos no mês, multiplicado por 100 para obter a porcentagem. A fórmula correta seria:

(SUM(Faltas) / (COUNT(IdColaborador) * dias_trabalho_efetivos)) * 100

Onde "dias_trabalho_efetivos" representa a quantidade real de dias em que a empresa estava em operação no mês analisado. Isso pode variar de mês para mês, dependendo de feriados, folgas ou outras situações especiais.

Para ilustrar melhor, vamos considerar um exemplo. Digamos que em um mês específico, a empresa teve 100 colaboradores e registrou um total de 500 faltas. Se houve 22 dias efetivos de trabalho no mês, o cálculo correto do absenteísmo seria:

(500 / (100 * 22)) * 100 ≈ 2,27%

Essa taxa de absenteísmo parece ser muito mais realista do que o valor anterior.

Agora, quanto à presença de colaboradores com um grande número de faltas e nenhum com zero, isso pode explicar o alto absenteísmo observado no seu conjunto de dados. Se alguns colaboradores acumulam muitas faltas, isso pode aumentar significativamente a taxa geral de absenteísmo. É essencial investigar as causas das faltas frequentes e implementar medidas para reduzi-las, visando o bem-estar dos colaboradores e o melhor funcionamento da empresa.

Uma abordagem interessante seria aprofundar a análise e segmentar os dados por departamento ou equipe. Isso permitiria identificar se o absenteísmo está concentrado em um grupo específico e auxiliaria na busca de soluções direcionadas.

Em relação à simplificação da fórmula, é importante notar que a presença de variáveis como "dias_trabalho_efetivos" pode dificultar a redução direta da expressão. Contudo, a clareza do código é um aspecto relevante na programação, e é sempre bom escrever funções e cálculos de forma que sejam facilmente compreensíveis. Portanto, ao usar essa fórmula em uma aplicação ou relatório, você pode criar uma função personalizada com um nome significativo que inclua os parâmetros relevantes para melhorar a legibilidade.

Espero que essas explicações tenham sido úteis e tenham ajudado a esclarecer suas dúvidas sobre a fórmula do absenteísmo. Caso você precise de mais informações ou tenha outras perguntas, sinta-se à vontade para perguntar. Bons estudos!

Espero que tenha te ajudado, caso precise eu estarei por aqui.

Abraços e bons estudos!

Copiei exatamente a fórmula apresentada na transcrição:

((COUNT(IdColaborador) * SUM(Faltas)) / (COUNT(IdColaborador) * 20)) / 1000

Porém foi apresentado o seguinte erro:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

O meu também deu esse mesmo erro DATA SET

Oi pessoal! Tudo bem?

O erro que vocês estão recebendo indica que há uma incompatibilidade entre os tipos de dados na fórmula de cálculo. Onde um número inteiro (INT64) está sendo multiplicado pelo resultado de uma função SUM, que provavelmente retorna um número em ponto flutuante (DOUBLE). Resultado em um erro de implementação da operação de multiplicação.

Uma possível solução, é converter o valor INT64 para DOUBLE utilizando a função CAST, antes mesmo de realizar a multiplicação. Veja o exemplo de como ficará a função:

((CAST(COUNT(IdColaborador) AS DOUBLE) * SUM(Faltas)) / (CAST(COUNT(IdColaborador) AS DOUBLE) * 20)) / 1000

Usamos a função CASTpara converter um valor de um tipo de dado em outro tipo de dado que seja compatível, garantindo que ele seja interpretado corretamente.

Espero ter ajudado!

Abraços e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software