EJERCICIO GUIADO. JAVA.
INFORMES DE BASE DE DATOS
Informes Agrupados
Un informe agrupado se puede definir como varios listados en un mismo informe. Los
elementos de cada listado tienen una característica en común, o, dicho de otra forma,
pertenecen a un mismo grupo.
Por ejemplo, si tuviera un listado de trabajadores, podría mostrar dicho listado agrupado
según profesión, y entonces tendríamos el listado de albañiles, el listado de profesores, el
listado de policías, el listado de bomberos, etc...
Es decir, el listado de trabajadores se dividiría en grupos según las distintas profesiones de
los trabajadores.
En esta hoja guiada se verá como realizar este tipo de listados.
EJERCICIO GUIADO Nº 1. CREACIÓN DE UN INFORME AGRUPADO
1. Entra en iReport.
2. Crearemos un informe en el que aparezca el listado de servicios realizados.
Usaremos el mago de informes para hacer este listado.
Para ello active la opción Fichero – Mago de informes.
3. La conexión a usar será Conexión con MANEMPSA. Y la consulta SQL será la
siguiente:
select * from servicios order by tipo
(Nota: observe que hemos ordenado la consulta por tipo. Luego verá por qué)
Pulse el botón Próximo.
4. Los campos a añadir al listado serán: Número, Fecha, Tipo y Cantidad.
Pulse el botón Próximo.
5. Ahora ya estamos en el paso tercero del asistente. En este paso tendremos que
indicar la forma de agrupar el listado. En el desplegable grupo 1 indique el campo
tipo. Esto significa que el listado saldrá agrupado por tipo de servicio.
Pulse Próximo.
6. Elija una disposición Tabulada del tipo Classic_T. Pulse Próximo y Terminar.
7. Aparecerá el diseño del informe que acaba de crear. Observe que entre las zonas
típicas del informe ha aparecido una nueva zona “de agrupamiento”:
8. Visualice el informe y observe el resultado (al visualizarlo iReport le pedirá que lo
guarde. Guárdelo con el nombre serviciosagrupados):
Como ve, aparecen varios sub-listados. Un listado con los servicios de electricidad, otro con
los servicios de fontanería, y otro con los servicios de limpieza. Tenemos un informe en
grupos.
NOTA: Es obligatorio que la consulta del informe esté ordenada según el campo por el que
vayamos a agrupar. Esta es la razón por la que la consulta se ordenó por tipo.
9. Ahora se mejorará un poco el listado que se ha hecho. En primer lugar modifique el
patrón del campo fecha, de forma que aparezca en formato día-mes-año:
10. También puede resultar interesante modificar el patrón de la Cantidad, de forma que
aparezca con dos decimales:
11. Finalmente asigne el título “Listado de Servicios” al informe. Este debe tener ahora el
siguiente aspecto al visualizarlo:
NOTA:
Es posible agregar distintos niveles de agrupamiento a un informe. Usando el ejemplo del
inicio de esta hoja, podríamos tener un listado de trabajadores agrupado por profesiones y
por estado civil. En este caso, aparecería un grupo por cada profesión, y, cada grupo,
estaría a su vez subdividido en grupos según el estado civil.
Por ejemplo, el grupo de bomberos podría tener el siguiente aspecto:
Bomberos
Casados
----
----
Solteros
----
----
Etc...
Para hacer esto basta con indicar varios campos en el paso de agrupamiento del asistente
mago de informes. Pero tenga en cuenta que tendrá que ordenar la consulta SELECT según
dichos campos.
En el ejemplo de los trabajadores, la consulta podría tener este aspecto:
select * from trabajadores order by profesión, estado
Se anima al alumno que experimente con esta posibilidad.
CONCLUSIÓN
Un informe agrupado es aquel en que los registros aparecen en distintos grupos.
Los elementos de un grupo tienen la misma característica.
Se puede decir que un informe agrupado consiste en una serie de sub-listados.
Para crear los grupos se toma como referencia el valor de un determinado campo.
La mejor forma de crear un informe agrupado usando iReport es a través del mago de
informes, ya que este asistente muestra un paso donde se puede elegir el campo
según el que se quiere agrupar.
No olvide que cuando quiera agrupar un listado por un campo es obligatorio que la
consulta SELECT del informe ordene el listado por el campo por el que se quiere
agrupar.