O3 Report
A partir de la versión 5, O3 incluye un nuevo módulo para la creación de reportes llamado BIRT. Este módulo se encuentra totalmente integrado con las capacidades analíticas de O3 lo cual representa una extensión significativa de las capacidades de O3 en cuanto a la explotación de datos.
De esta forma es posible presentar los datos almacenados en cualquier cubo o vista de O3 definiendo cortes de control y diferentes formatos de presentación generando reportes de acabado profesional con muy poco esfuerzo.
Este Tutorial
El objetivo de este tutorial es presentar el módulo para generación de reportes disponible desde la versión 5.0 de O3, brindando una guía sencilla acerca de su uso con ejemplos concretos que pueden ser seguidos en una instalación cualquiera de O3.
Se recomienda además la lectura del material bibliográfico detallado en la sección de bibliografía más abajo para reportes más complejos o por detalles específicos de la herramienta.
El tutorial está organizado de acuerdo a los pasos necesarios para construir un reporte vistoso utilizando los datos almacenados en el cubo de Vinos incluido en la instalación de O3.
- Instalando BIRT
- Creando un Reporte nuevo
- Especificando los datos a utilizar
- Diseñando la forma del reporte
- Formateando la información
- Diseñando la Página Maestra
- Testeando el Reporte
Vista general del proceso de diseño de un reporte
Detallamos los pasos para conseguir un diseño robusto y coherente de un reporte
- Planear el reporte.
- Especificar la información a usar.
- Diseñar la forma del reporte.
- Formatear la información.
- Diseñar la página maestra.
- Testear el reporte.
Construyendo un reporte simple
En esta seccion mostraremos como construir paso a paso un reporte sobre un listado.
Se realizarán las siguientes tareas para llevar acabo el reporte.
- Crear un nuevo proyecto (si se usa BIRT RCP no es necesario este paso).
- Crear un nuevo reporte.
- Construir una fuente de datos (data source).
- Construir un conjunto de datos (data set).
- Diseñar el roporte de modo de mostrar cada una de las columnas del conjunto de datos.
- Ordenar la información.
- Formatear los datos para mejorar la presentación de los mismos.
- Crear un título para el reporte
Creando un nuevo proyecto
Eclipse organiza los archivos por proyectos. Ud puede crear un proyecto para contener todos sus reportes, o bien puede crear un proyecto para cada reporte. Si usa BIRT RCP esta parte no aplica.
Para ello vamos a Archivo->Nuevo->Proyecto. Nos aparece la pantalla siguiente:
Expandimos donde dice Bussines Intelligence and Reporting Tools y seleccionamos Report Preject lugo Next.
Le pondremos por nombre Mi preyecto.
y apretamos el botón Finish, en la ventana de navegación veremos que apareció nuestro proyecto.
Creando un Reporte
Un reporte se puede crea de dos formas:
- Comenzando con un diseño en blanco.
- Usando una plantilla prediseñada de reporte.
A los efectos de este tutorial comenzaremos de un reporte en blanco.
Entences hacemos File->New->Report, elegimos el preyecto en el cual crearemos nuestro reporte, en este caso Mi Proyecto. Y por nombre le pondremos al reporte mi_reporte.rptdesign
Luego el sistema nos da a elegir entre usar un reporte en blanco o usar plantillas. Elegimos Blank Report y apretamos Finish
Construir una fuente de datos (data source)
Antes de poder entrar a diseñar el reporte es necesario especificar como BIRT se conectara a una base de datos, esto se hace definiendo una fuente de datos.
A los efectos de este tutorial, estableceremos una fuente de datos para O3. veamos este preceso en detalle.
Seleccionamos una nueva fuente de datos, Data->New Data Source
Elegimos JDBC y le damos next
Tenemos 2 opciones para conectarnos a O3:
- Acceder a una vista
- Acceder al cubo con MDX
Veamos como completar el formulario para una conexión a una vista
Y ahora veamos para el caso de MDX
Podemos testear la conexión apretando el botón Test Connection...
Construir un Set de datos (Data set)
En esta etapa es en la que definimos la consulta propiamente dicha.
En el menú vamos a Data->New Data Set y veremos el siguiente dialogo
- En Data Set Name le pondremos el nombre con que queremos llamar a este Set.
- En Data Source nos da a elegir un data source que ya hallamos definido.
- En Dara Type elegimos SQL Select Query.
En la siguiente pantalla es que se define la consulta
Veamos en primera instancia para consultar una vista definida en el server
Aquí es importante destacar en el SQL el FROM de la clausula
'Vinos/VinosPorVendedor#_public'
- Vinos - es el nombre del cubo con que se lo publica en el server.
- VinosPorVendedor - es la vista de la cual me interesa extraer datos.
- #_public - indica como esta guardada la vista
Estos datos pueden ser sacados de la barra de estado del navegador web, luego de source=Vinos/VinosPorVendedor#_public en la página de marcadores.
Acontinuación no aparece la misma pantalla, pero con un menú de opciones entre ellas podemos hacer un vista previa (preview) de los datos que se traen con la consulta.
Veamos ahoro como seria para MDX
En este caso la diferencia con el anterior es que debemos elegir un Data Source para MDX y la sintaxis de la consulta difiere de la anterior
SELECT {[<measures>].[<measures>].[Litros Vendidos] ,[<measures>].[<measures>].[Venta Bruta]} ON COLUMNS, CROSSJOIN ({[Vendedores].[Vendedores].[Distribuidor].children} ,{[Vinos].[Vinos].children}) ON ROWS FROM [Vinos]
Para este ejemplo lo que estamos es trayendo en la columnas los litros vendidos y la venta bruta. Para las filas estamos trayendo los vendedores y los vinos de forma que quedan anidados.
Por cuestiones de simpleza recomendamos el usa de las vistas sobre el uso mas complicado de MDX
Diseñando el Reporte
En esta parte del precedimiento insertaremos los elementos de nuestra consulta para realizar el reporte.
Comenzaremos por insertar un tabla, este elemento tiene la particularidad que interactua con todo el set de datos que trae la consulta. Para colocar un tabla hacemos Insert->Table
No quedara según la siguiente imagen
Elegimos Data Explorer y comenzamos a arrastrar los campos a la tabla a la zona de detalle, el sistema pone en forma automático los títulos
veremos lo siguiente
Para ver lo construido hasta el momente tenemos varias posibilidades:
- Cliquear el tab Preview de la ventana de diseño.
- File->View Report-> y elegir alguna de las opciones que nos brinda el menú.
Ordenando la información y agregando totales parciales
Cuando la información llega desde lo consulta, esta no tiene porque venir ordenada. Tenemos la posibilidad de ordenar la información con esta herramienta si ya no lo hicimos en la consulta misma.
Para esto usaremos el editor de propiedades. Señalamos la tabla y en el editor de propiedades nos aparecen todos los elementos que pueden ser configurados en la tabla
Dentro del editor de propiedades vamos al tab sorting. Luego apretamos el botón Add y podremos seleccionar por cual de las columnas establecemos el orden, se pueden agregar mas de un criterio (columna) para establecer el orden.
Luego pedimos la vista previa y vemos los resultados.
Creemos ahora totales parciales segun algún agrupamiento. Ej: Queremos lograr algo como la siguiente tabla
Vendedor |
Cantidad Vendida |
---|---|
Pedro |
100 |
Pedro |
150 |
Pedro |
50 |
Pedro |
350 |
Total Pedro |
750 |
Juan |
150 |
Juan |
200 |
Juan |
150 |
Total Juan |
500 |
Total |
1250 |
Para lagrar esto de nuevo vamos al editor de propiedades al tab Groups. Apretamos el botón de Add y nos aparece una pantalla para crear el grupo.
En Nombre le ponemos el nombre por el cual asociaremos el grupo.
En Group on elejimos el campo por el cual agruparemos.
El resto de las opciones las dejamos como están y damos Ok.
El siguiente paso es crean un lazo (bind) que nos sume los datos del grupo. Nuevamente vamos al editor de propiedades de la tabla al tab Binding. Vemos que ya hay lazos correspondientes a los datos que ya se muestran, estos lazos se crearon en forma automática cuando agregamos elementos a la tabla. Ahora crearemos uno nuevo, pero como nos interesa que sea un agregacion apretamos el botón que dice Add Aggregation y nos aparece la siguiente pantalla:
Column Binding Name |
Nombre que le pondremos al lazo |
Display Name |
Nambre con el que se mostrara el lazo |
Data Type |
Tipo de datos, si dejamos any asumira el correcto según sean los mismos |
Function |
Funcion que emplearemos para hacer la agregación |
Data Field |
Campo por el cual haremos la agregación |
Aggregate on |
Si la agregación es para toda la tabla o para un grupo determinado |
Completamos la pantalla y elegimos Aggregate on groups y seleccionamos el grupo que habimos creando anteriormente.
En el layout nos quedará así:
Como vemos aparecioron dos nuevas filas correspondientes al Grupo. Es aquí donde colocaremos nuestro lazo suma, lo podemos colocar la fila Group Header o en la fila Group Footer. No paramos en la casilla en la cual queremos poner el lazo y en menú Insert->Data. Nos aparece un pantalla para que agregemos un nuevo lazo asociado a dicha casilla, lo cancelamos ya que nostros queremos que apunte a nuestro lazo de suma
Hacemos clik derecho sobre la casilla y en el menú contextual cliqueamos Change Data Column. Se no abre un ventana donde nos aparecen todos los lazos disponibles, elegimos el que creamos para sumar.
Para ver los resultados cliquear en el tab preview.
Formatear el reporte
En esta parte veremos en forma rápida como hacer que nuestro reporte luzca mejor.
- Alineación de los datos
La alineación de los dato en la tabla se modifica cliqueando en la celda y no en el elemento contenido en la misma
luego en editor de propiedades dentro del tab properties buscamos el submenú general. Ahí veremos un combo que nos permite manipular el centrado. - Colores de fondo de las celdas en la tabla
Al igual que en la opición anterior, hay que ir al editor de propiedades->general. Ahi veremos el combo de colores de fondo.
Bibliografía
Libro |
Autor |
---|---|
BIRT - A Fild Guide te Reporting |
Diana Peh/Aletha Honnemann/Nola Hauge |