Supongamos que estamos haciendo un cubo de recursos humanos para medir el % de inasistencias en la empresa e implementar algún programa para disminuirla. Tenemos entonces:
Head Count. Número de personas en la empresa. Como no puedo tener trabajando media persona, ni 0.25 personas; entonces definimos la columna que almacenará la información como entero (INT).
Inasistencias. Las veces que una persona ha faltado a trabajar. O falta o no falta. No podemos tener media inasistencia o cuarto de inasistencia. Definimos también la columna como entero (INT)
Listo, la llenamos con información y hacer el indicador calculado % de inasistencias da como resultado siempre cero. Por ejemplo, con 20 inasistencias para 100 empleados el resultado es cero.
% Inasistencias = Inasistencias/Headcount = 20/100 = 0 %
¿por qué? Todo esto gracias a la regla que dice que en las bases de datos un int dividido entre otro int dá como resultado un int. Habría que ponerle un cast o convert a la fórmula para que no marcara error. La otra es multiplicar uno de ellos por 1.0 para convertirlo a un # decimal.
Así que si el resultado no dá cero o uno, ya sabe donde está el problema.


Comentarios recientes