Ahora tengo otra duda, ¿cual es la mejor manera de gestionar relaciones entre entidades cambiantes con el tiempo si no hay ºtablas de hechos de por medio?. Ejemplo: el número de empleados por departamento teniendo en cuenta que a lo largo del tiempo se dan de alta, de baja y pueden cambiar de departamento. ¿Cómo se modelizaría una función que contara (sin tabla de hechos dónde ya esten contados) el número de empleados que había en cada departamento y en cada momento del tiempo?[/quote]
Veamos:
Cuando se construye funcionalmente el modelo (definición de entidades, métricas, cuadros de cruce dimensional, nivel de agregación, componentes,...) se define o debe definir con el cliente qué querrá hacer con la dimensión tiempo y los atributos cambiantes con el tiempo. Normalmente al cliente le suele interesar tener una foto fija de la última situación de manera que la información de periodos anteriores bien se lleva acumulada por periodos (anuales) o bien se lleva a un histórico acordado de no más de dos años.
En el caso concreto por el que me preguntas en que deseas conocer el nº de empleados por departamento y tiempo (supongamos meses), yo lo llevaría precalculado en una tabla junto con el resto de datos precalculados del mismo tipo y al mismo nivel que se vayan a necesitar y a utilizar, seguramente, en fórmulas más complejas. De no querer precalcularlo (y no veo porqué no) necesitamos un campo de alta y otro de baja en la tabla de empleado, de modo que en el indicador que cuenta empleados filtremos dichos campos por el periodo solicitado de estudio. Por otra parte, si quieres calcular el nº de empleados por departamento debes contemplar la posibilidad de que un empleado puede cambiar de departamento mientras que en tu agrupación vas a tener la última foto de agrupación lo que nos lleva a la solución más fácil de precalcularla en la carga.
Otra opción para llevar de la manera más óptima posible la relación depto-empleado-tiempo es llevar en una tabla 4 campos:depto-empleado-fecha entrada-fecha salida siendo en este caso las fechas de entrada y salida aquellas en que cada empleado entra y sale de un departamento. En una compañía con gran rotación entre departamentos puede interesar llevar esta tabla e incluso llegar al detalle e incluso mostrar el puesto con las fechas de promoción y/o democión.
Como ves hay varias posibilidades que deben ser el resultado de un consenso con el cliente para que identifique claramente sus necesidades en este sentido. Las tablas de históricos suelen ser pesadas y deben crearse sólamente cuando las necesidades específicas del cliente así lo requieran.