Generate Time Dimension

Generate Time Dimension genera registros de fecha, uno para cada día del rango de fechas especificado. Entonces puede escribir dichos registros en una tabla de dimensión de tiempo en una base de datos usando la etapa Write to DB. La tabla de dimensión de tiempo puede utilizarse entonces para realizar cálculos exactos basados en un periodo de tiempo. Por ejemplo, ventas por trimestre, presupuesto invertido por trimestre e ingresos diarios son todos análisis que precisan de una dimensión de tiempo. Las tabla de dimensión de tiempo le permiten además dar cuenta en el análisis de los años fiscales o trimestres atípicos.

Ejemplo del uso de una tabla de dimensiones de tiempo

Las tablas de dimensiones de tiempo son necesarias para realizar cálculos precisos basados en tiempo porque a veces no es fácil extraer los datos de fecha necesarios de los registros. Por ejemplo, los siguientes registros se encuentran en una base de datos de ventas. Tenga en cuenta que hay diferencias de tiempo entre registros. Por ejemplo, no hay ningún registro para el día 1/4/2012.

Fecha Producto Monto
03/01/2012 Red Shirt $10.00
05/01/2012 Red Shirt $5.00
07/01/2012 Red Shirt $15.00

Si consulta estos registros y calcula el promedio de ventas por día, la respuesta sería $10.00 ($30 / 3 registros). Sin embargo, esto no es correcto porque los tres registros en realidad abarcan un período de cinco días. Si tiene una tabla de dimensiones de tiempo con un registro para cada día, puede combinar esta tabla con la tabla anterior para obtener:

Fecha Producto Monto
03/01/2012 Red Shirt $10.00
04/01/2012    
05/01/2012 Red Shirt $5.00
06/01/2012    
07/01/2012 Red Shirt $15.00

Al calcular el promedio de ventas por día utilizando estos registros, obtendrá la respuesta correcta: $6.00 ($30 / 5 días).

Además, podría tener en cuenta los atributos de tiempo arbitrarios, tales como días festivos, fines de semana y trimestres en el cálculo. Por ejemplo, si 1/6/2012 fue un día festivo y a usted solo le interesan las ventas promedio por día laboral, entonces la respuesta sería $7.50.