Open Business Intelligence

La red del Business Intelligence

Buenas tardes, estoy teniendo problemas para poblar una dimension tiempo, lo que necesito hacer es generar todas las fechas en un intervalo de tiempo...

De acuerdo a la siguiente sentencia select necesito generar todas las fechas dentro de ese intervalo

SELECT
  fechaInicio
, fechaCierre
FROM fechainiciofin

Desde ya muchas gracias!

Saludos Guillermo

Visitas: 130

Respuestas a esta discusión

Guillermo, y la consulta que expones para que sería?

Hola Profe, gracias por responder, es un datawarehouse para producciones agricolas, en la dimension tiempo inicial necesito cargar todas las fechas existentes entre la fecha minima de inicio de todas las producciones y la maxima maxima de finalizacion de todas las producciones

Desde aca hago Select min y max y luego lo guardo en una tabla de fechas..

Con estas dos fechas necesito generar las intermedias para poblar inicialmente la dimension tiempo.

Gracias

Saludos Guillermo

Profe? fuiste estudiante de alguna de mis cátedras? 

Entiendo, pero veo que tiene varias filas con intervalos desde/hasta, como sería eso?

En cuanto a la generación, te recomiendo parametrizar una transformación y pasarle esas fechas. Encontrarás muchos ejemplos de como hacerlo.

Igualmente, si estás haciendo esto como trabajo y piensas seguir adelante, te recomiendo la lectura de material formal, en esta web, eventualmente podemos ayudarte en algo específico, pero debes conseguir una formación más robusta para hacer trabajos profesionales en este dominio.

Saludos

Mariano

Si, con Ud. tuve Administración de Base de Datos en el IUA.

El sistema OLTP se basa en la generacion de producciones de cultivos con una fecha de inicio y una de fin, cada una de estas producciones comprende gastos, ventas, kilogramos de cultivo obtenido, rendimiento de la cosecha, etc. que estan comprendidos entre las fechas de inicio y fin de su correspondiente produccion.

Estoy leyendo Hefesto y según tengo entendido la carga inicial de la dimension tiempo la realizo entre dos fechas, la de inicio y la actual, pero en mi caso ya tengo las dos fechas para realizar la primer carga (no tenga en cuenta la fila 4), que serian la minima y maxima de todo el conjunto de produccion, lo que ahora estoy tratando de realizar en Spoon es la generacion de todos los dias entre esas dos fechas para poblar la dimension tiempo.

Aclaro que lo tengo funcionando con procedimientos almacenados de MySQL (muy similar al que encontre en esta pagina) pero se me complico al realizarlo en Spoon.

Gracias por su tiempo.

Saludos Guillermo

Hola Guillermo, la dimensión tiempo no puede ser una tabla fija con un periodo de por ejemplo 30 años? (sería como un calendario de varios años), lo pregunto porque en la gran mayoría de los datawarehouse esa dimensión se crea una vez con una cantidad de años y lo que haces es que en tu tabla de hechos de cultivo, creas 2 campos, id_tiempo_inicio y id_tiempo_fin. En base a la fecha que tiene el registro, buscas dicha fecha en tu dim_tiempo y te traes los ids correspondientes. Todo depende del negocio del cliente. Pero si puede ser fija tendrías que crear una ETL para construir la dim_tiempo, que se ejecutaría una única vez.

Saludos :)

Es cierto que es válido crear la dimensión tiempo con un período fijo mayor al requerido, pero no suele ser conveniente por cuestiones de performance, igualmente hay que ver la carga real del DW y los recursos con los que se cuenta.

Aquí tienes un articulo (no muy nuevo, pero válido) de como trabajar una dimensión tiempo: https://churriwifi.wordpress.com/2010/05/12/16-3-1-dimension-tiempo/

Saludos

Mariano

Buenos días, gracias por sus aportes!!. Al final lo resolvi mediante un procedimiento almaceando, ejecutando lo siguiente desde kettle..

La tabla produccion desde donde hago el select es una tabla de una base de datos intermedia, me conviene generar otra tabla en la que vaya guardando las fechas solamente y hacer el select a esa tabla? , sería algo como una tabla auxiliar de fechas min y max...

Gracias por su ayuda

Saludos

Guillermo

RSS

Distintivo

Cargando…

© 2017   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio