Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Modelo de datos:
Como se indic anteriormente, esta rea se encarga de la definicin de los datos que sern mostrados en
el informe. Para lo cual se necesita definir las consultas a las diferentes fuentes (tablas, vistas,
procedimientos almacenados, archivos xml, mdulos olap), definir las sumarizaciones y programar las
funciones adicionales que pudieran ser necesarias en el informe.
La figura 2, muestra las herramientas del modelo de datos.
Permite la edicin de consultas sql, ya sea por intermedio del query builder o editando directamente el
cdigo sql (esta ltima opcin me gusta ms por cuanto permite apropiarse directamente del lenguaje de
consulta, para mas detalles sobre sql ver manual de sql )
Vamos a hacer un ejemplo en la herramienta para mostrar las anteriores tres herramientas:
1. Definamos la estructura de las fuentes de datos
2. Supongamos que se tiene la estructura de tablas: estructura.txt
3. Ahora bien, se desea generar un informe que muestre para cada alumno, las materias cursadas con su
respectiva calificacin
4. Ejecutamos la herramienta oracle reports, y procedemos a crear un nuevo informe.
Estando en la ventana modelo de datos, seleccionamos la opcin consulta sql y la colocamos sobre la
hoja de edicin (para esto basta con hacer clic sobre la herramienta y luego clic sobre el fondo de la hoja)
Aparece una ventana solicitando la consulta que deseamos ejecutar. Es aqu donde disponemos de las
dos opciones: usar el query builder o lanzarnos personalmente a escribir la consulta sql. Para el ejemplo
usaremos el query builder.
Para poder acceder al query builder es necesario validarse como usuario de la bd oracle, por lo tanto se
debe registrar el nombre de usuario, contrasea y string de conexin.
Una vez validada la conexin se muestra una lista de los objetos de que dispone el usuario (tablas,
vistas, sinnimos, instantneas), de la cual se deben seleccionar los objetos a usar en la consulta. En
nuestro caso se seleccionarn las tablas alumno, materia e inscripcin.
No se preocupe por las relaciones, la herramienta las construye automticamente con base en las llaves
forneas definidas para cada tabla.
Luego cliquear aceptar, tenemos ahora la consulta sql lista! (Claro, si conocemos los detalles del lenguaje
sql podemos escribir directamente la sentencia sin necesidad de llamar a don query builder)
Y nuevamente aceptar para ver el modelo de datos generado. La siguiente figura muestra el grupo de
datos generado a travs de la consulta que se acaba de definir. El concepto de grupo es importante pues
define la manera en que se mostrarn los datos posteriormente. En este caso solamente tenemos un
grupo conformado por el id del alumno, el nombre y el apellido del alumno, el id de la materia el nombre
de la materia cursada y la nota. Si el alumno curs 10 materias, algunos de estos datos como id, nombre
y apellido del alumno se repetirn las 10 veces.
Aqu sera necesario implementar una forma de ver el reporte a manera maestro detalle.
Para dividir este grupo en dos grupo slo basta con seleccionar los campos que hacen parte del detalle y
llevarlos fuera del grupo (o sacarlos del grupo), con lo que nos quedara algo as:
Agreguemos ahora una columna de resumen que nos muestre el promedio de las calificaciones
obtenidas por cada alumno. Para esto, seleccionamos la herramienta columna resumen y la colocamos
dentro del primer grupo (el grupo del alumno), y colocamos otra columna resumen fuera de los grupos
(CS_2), con lo que nos queda algo as:
Vamos a explicar qu queremos al incluir dos columnas de resumen CS_1 y CS_2, se puede ver que
CS_1 es un resumen a nivel del grupo G_Nombre y lo que queremos con CS_2 es tener un resumen a
nivel de todo el reporte. Es decir, queremos un resumen del promedio de calificaciones por alumno y un
resumen del promedio general.
Ahora bien, seleccionamos el campo CS_1 y abrimos la ventana de propiedades (botn derecho del
mouse opcin inspector de propiedades) y fijamos los valores como lo indica la siguiente figura:
Como puede verse, para la propiedad funcin permite seleccionar de una lista de operaciones(conteo,
suma, valor mximo, ).
La propiedad origen indica el campo que interviene en el resumen
La propiedad Restablecer en, indica en este caso que por cada alumno har la operacin definida.
En conclusin, se hallar el valor promedio del campo calificacin por cada alumno.
Ahora, seleccionamos el campo CS_2, nuevamente abrimos la paleta de propiedades y fijamos los
siguiente valores
En esta configuracin, le estamos indicando que el resumen debe hacerse a nivel de todo el reporte, y
vamos a promediar los promedios de los estudiantes.
Listo. Ahora nicamente nos falta generar la parte visual de nuestro reporte. Para esto seleccionamos la
opcin programa/ejecutar disposicin de papel. Este asistente ayuda a configurar la parte visual del
reporte y lo concerniente a los datos.
Una de los pasos dentro de este asistente, es la definicin del estilo de reporte a crear. Para neutro
ejemplo, sealaremos la opcin agrupar arriba . Haciendo clic en siguiente, se edita el origen de datos (el
cual ya definimos), luego la pestaa datos en donde se seleccionan los campos que se desean mostrar
en el informe. No siempre querremos que todos los campos en la clusula select sean mostrados. Lo
grupos ya estn definidos. Finalmente, si desea generarse el reporte con alguna plantilla, sta puede ser
seleccionada, o si por el contrario no se desea usar plantilla, tambin existe la posibilidad de seleccionar
sta decisin.
Muy bien, ahora el trabajo es nicamente poner bonito nuestro informe. Desde el navegador de objetos,
entrar al rea de disposicin de papel y all personalizar el reporte en cuanto fuente, colores, ubicacin
(esta primera entrega no se extiende la explicacin del rea disposicin del papel. sta se har ms
adelante en otra entrega)
La herramienta Enlace de datos
Permite enlazar campos entre diferentes consultas. Si se tienen 3 consultas a, b y c, y de a a b existe un
enlace, y entre a y c existe otro enlace, se ejecuta primero la consulta a, luego la consulta b y luego la
consulta c, enlazando por el campo definido. Un ejemplo que ilustra esta idea sera: se tienen varias
tablas que modelan la hoja de vida de una persona, una tabla PERSONA guarda los datos personales
(idPersona, nombre, apellido, fecha_nacimiento,..), otra tabla ESTUDIOS guarda los estudios que ha
realizado cada persona (cuyos campos podran ser idPersona, tipoEstudio, TituloObtenido, Duracion,.),
otra tabla EXPERIENCIA guarda la historia de los empleos de cada persona (los campos para esta tabla
podran ser idPersona, empresaLabor, duracion, cargo, .), otra tabla PRODUCCIN guarda los escritos,
trabajos, investigaciones realizadas por cada persona.
Suponiendo que se necesita imprimir la hoja de vida de cada persona, se pueden definir 4 consultas para
cada una de la tablas anteriores y luego hacer enlaces por el campo idPersona a fin de que las consultas
filtren los datos para cada uno de los registros de la tabla persona. Para este ejemplo, la estructura del
reporte sera:
Datos personales:
Estudios realizados:
Experiencia laboral:
.
Produccin:
Ahora, usando la herramienta enlace, vamos a unir los campos las 3 consultas por el campo idpersona.
El procedimiento es muy sencillo; solamente basta con tomar la herramienta enlace de datos (haciendo
clic sobre sta), luego unir los campos de las consultas, arrastrando el mouse desde el campo de la
consulta origen hasta el campo de la consulta destino sobre el que queremos hacer el enlace. Para este
caso desde el campo idPersona hasta el campo IdPersona1, y otro desde el campo IdPersona hasta el
campo IdPersona2. El modelo de datos se vera ahora:
Listo, ahora ejectiutando la disposicion del papel (estilo: agrupar arriba, grupos: grupo de persona
transversal/desc, grupo de estudios descendente, grupo de empleos descendente, campos:
seleccionarlos todos, plantilla: ninguna), y agregando unas cuantas etiquetas se tendra finalmente el
siguiente informe:
Como puede verse, esta funcionalidad de enlace de datos, permite enlazar el resultado de varias
consultas por uno o varios campos, mostrando en cada bloque de resultados, los respectivos registros
asociados al campo enlazado. Suponiendo que para una persona X no existen registros en la tabla
empleos, el bloque de empleos no se mostrara para esta persona X.
La herramienta consulta jdbc
Permite la definicin de consultas sql, a fin de ser ejecutadas sobre fuentes de datos va usando el driver
jdbc; por lo tanto dichas fuentes pueden ser tanto oracle, como db2, access, mysql, sql server, etc. Lo
ms importante es esta opcin es definir la cadena de conexin hacia la fuente de datos a utilizar. En
sntesis, esta opcin es muy aconsejable cuando se desean incorporar datos que no se tienen dentro de
nuestra bd oracle, pero que igualmente son importantes en para nuestro negocio.
Realicemos la siguiente prctica para ver el funcionamiento de consultas jdbc:
1. Vamos a crear una base de datos en Microsoft Access llamada tarifa.mdb
Creamos una tabla llamada tarifa con los siguientes campos cod_tarifa (tipo de dato numrico), valor (tipo
de dato numrico)
Procedemos a poblar dicha tabla con algunos valores
2. Luego, creamos una fuente de datos ODBC (para los sistemas Windows, ingresar al panel de control)
llamada miodbc_tarifa que tenga como fuente el archivo tarfa.mdb que acabamos de crear en el punto
anterior.
3. Ejecutamos la herramienta oracle reports, creamos un nuevo informe, y desde el modelo de objetos,
tomamos la herramienta consulta jdbc y la colocamos en la hoja de edicin. Una vez hecho esto, aparece
un cuadro de dilogo solicitando la consulta sql a ejecutar y la conexin a usar. En el cuadro para
consulta escribiremos
select * from tarifa
para definir la conexin hacemos clic sobre el botn conectar, lo cual muestra otro cuadro de dialogo
para especificar los parmetros de conexin a nuestro ODBC.
seleccionamos como tipo de controlador jdbc-odbc y en el cuadro base de datos escribimos el nombre
asignado al ODBC miodbc_tarifa
Listo, ahora clic en conectar, y luego aceptar. Si no existen problemas de sintaxis en la consulta SQL y se
defini adecuadamente el tipo de controlador y el nombre la base de datos, debera aparecer en el
modelo de datos el siguiente modelo:
4. Solamente nos falta ahora, crear la parte visual o disposicin de papel. Para esto dirjase a la opcin
programa/ejecutar disposicin de papel, el cual le guiar este proceso.
cuadro de dilogo aparecer para definir el nombre de archivo que vamos a cargar y el tipo de archivo
(log de servidor apache, archivo txt separado por comas o archivo txt separado por tabulaciones)
Para este caso seleccionamos archivo txt separado por tabulaciones e indicamos la ruta completa del
archivo de datos. Al finalizar, aplicamos aceptar para continuar.
Solamente falta ahora crear la disposicin de papel. Para esto proceder igual que en el ejemplo anterior.