Abrir informes en Discoverer

Hola,
Trabajo con Oracle Discoverer, y cada vez que quiero abrir un informe me devuelve los datos actualizados de la base de datos, pero lo que a mí me interesa es guardar informes con los datos pasados. Es decir si ejecuté el informe el 22 de Enero quiero recuperar ese informe con los datos del 22 de Enero, no con los datos de 7 de Agosto.
¿Cómo puedo hacer ésto?. ¿Existe alguna opción que permita no refrescar los datos cada vez que se abra un informe?
Gracias.

1 respuesta

Respuesta
1
En Oracle 9i tu puedes realizar consultas a la base de datos en un punto en el tiempo. Esta funcionalidad solo esta disponible a partir de la versión 9i.
Esto no significa (obviamente) que debas rehacer tus datafiles aplicando los logs, si no que los tablespaces pueden ser configurados de esa manera. Y al ejecutar su consulta puedes ponerle esa condición.
¿En informix existe algo similar?
Ahora bien, Discoverer te guarda los querys y no los datos, a menos (aunque no vale) que guardes los resultados de una consulta en excel ...
Por lo que veo tienes tablas resúmenes con los alumnos matriculados, ¿tendrás también los detalles de cada alumno y la fecha de matricula? Supongo que si, he igualmente supongo que esos detales no se pasan al modelo del EUL.
Creo que tendrías que utilizar una tabla de hechos considerando la dimensión tiempo en el resumen de los alumnos matriculados ...
No tengo la dimensión tiempo porque no la necesito.
Imagina que tengo que calcular el número de alumnos matriculados en una titulación. El 6 de Febrero habrá unos datos, y como después se matriculan de nuevo el 22 de Febrero serán unos datos distintos. Y yo quiero guardar la query con los datos del 6 de Febrero.
Y cuando hablo de fechas pasadas, no solo me refiero a una fecha concreta, si no que quiero almacenar los datos cada vez que refresco el informe.
¿Crees qué incluyendo la dimensión tiempo en todos los informes soluciono el problema?. Esperaba otra solución.Lo ideal sería que se guardasen los datos según se ha lanzado el informe, y no se actualizasen cada vez que se abre de nuevo. No me vale guardarlos en EXCEL, por ejemplo.
¿Tienes alguna idea de cómo se puede hacer?
Muchas gracias,
Ana.
Y por si fuera poco estas trabajando en informix.
(En el caso de trabajar con Oracle, ¿tendrás la fortuna de trabajar con 9i?) ...
Tal vez es una respuesta tonta ... pero ... ¿tienes en tu dimension tiempo el campo día?
Es decir, ¿tus estadísticas están basadas en resúmenes sin tomar en cuenta la dimensión tiempo?
Diego.
Sí que es raro que no vieses mi pregunta, igual te aparece luego.
Mencionas las tablas resumen. Supongo que te refieres a las que están en la EUL. No tengo ninguna. Solo tengo tablas congidas directamente desde la base de datos Oracle y cálculos sobre ellas.
¿Quizás si tuviese implementadas tablas resumen podría no actualizar sus datos de manera que los informes tirasen de estas tablas?
¿Qué haces tan tarde despierto? je je je.
Ciao.
Muy claras las respuestas. Mucho interés.
Hola Diego !
Realmente sí que tengo una dimensión tiempo que puedo utilizar, pero si los datos que saqué en fechas pasadas cambiasen quedarían reflejados en la consulta actual, y no los datos que realmente saqué en esa fecha.
Por otro lado, trabajo con un cliente Oracle 9i (donde tengo el Discoverer) contra un servidor Oracle8, en este caso, ¿cómo configuro los tablespaces para que almacenen las consultas en un punto del tiempo?
ASegún me dices, parece que no hay forma de guardar los resultados pasados de los informes, ya que como realmente son queries se refrescan cada vez que los abres. La verdad es que me parece muy raro que no se pueda hacer, pues me parece una funcionalidad muy importante. Creo que el tema no da más de sí, y no idea de cómo lo solucionaré.
De todos modos, muchas gracias.
Por último, ¿cómo se pueden configurar los tablespaces para que tengan esa funcionalidad que me comentabas?
Un saludo,
Ana
Que raro ... recibo un mensaje acusando que me has dejado otra pregunta pero no veo nada ...
En fin, Son las 2.15am del lunes en Lima.
5:33am ... así es la vida del artista .. lo que no se hizo el sábado .. se hace antes del lunes ... a las 8am!.
Bueno .. para realizar esa consulta utilizas el poderoso flashback query ..
Esta opción de 9i te permite tener vistas consistentes de la base de datos tal y como estaba en un punto en el tiempo.
Prerequisitos:
Solo puede ser utilizado si el servidor a sido configurado para usar Automatic Undo Management.
Más información para habilitar estas funcionalidades las puedes encontrar en:
http://www.oracle-base.com/Articles/9i/FlashbackQuery.asp
http://www.oracle-base.com/Articles/9i/AutomaticUndoManagement.asp
En esta página te explican muy bien todo, con mayores posibilidades gráficas de las que este servidor puede utilizar utilizando todoexpertos como herramienta.
Sin embargo puede ser una solución costosa en términos de almacenamiento (es casi como tener un rollback inmenso).
Yo apuntaría a que construyeses tablas con los resúmenes diarios de alumnos matriculados y que no fundan tus usuarios!,
Pueden ver la evolución de matriculas diariamente (y un resumen total en cualquier momento también ...)
Por otro lado, si bien con Discoverer puedes ir directamente a tu BD OLTP, lo mejor seria seguir los procedimientos de ETL para tener una data no estructurada y con mejores indices (recuerda que puedes particionar, y utilizar preferentemente campos numéricos en los ids para acelerar tus consultas), incluso utilizando vistas materializadas y otros chiches ..
En fin ... nada más por ahora anita ..
Suerte.
Diego.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas