martes, 11 de octubre de 2016

059.- Informes Agrupados - Java Y NetBeans

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 este post se verá cómo realizar este tipo de listados.



EJERCICIO GUIADO Nº 1. CREACIÓN DE UN INFORME AGRUPADO:

  1. Entra en NetBeans.

  1. Crearemos un informe en el que aparezca el listado de servicios realizados. Usaremos el asistente de informes para hacer este listado.

Para ello dar clic derecho en algún paquete del proyecto NetBeans, escoger la opción New y luego en Other…; en el cuadro de diálogo New File que aparece seleccionar la categoría Report y el tipo de archivo Report Wizard (Asistente de Informes), y dar clic en Siguiente.

          Elegir el Layout (Diseño) Leaf Green (Hoja Verde) y dar clic en Siguiente.
         

          Colocar al informe el nombre de serviciosAgrupados (no borrar la extensión .jrxml) y dar clic en Siguiente.

         
  1. La conexión a usar será Conexión DB AMANUVA. 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 Siguiente.

  1. Los campos a añadir al listado serán: numero, fecha, tipo y cantidad_cobrada.

Pulse el botón Siguiente.

5.    Ahora ya estamos en el paso donde tendremos que indicar la forma de agrupar el listado. En el desplegable Group 1 indique el campo tipo. Esto significa que el listado saldrá agrupado por tipo de servicio:


Pulse Siguiente y luego en Terminar.

6.    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”:



7.    Visualice el informe y observe el resultado:



Como ve, aparecen varios sub-listados. Un listado con los servicios de Cableado estructurado, otro 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.

8.    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:



9.    También puede resultar interesante modificar el patrón de la cantidad_cobrada, de forma que aparezca con dos decimales y con el Separador de millares:



10. 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 este post, 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 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 profesion, estado_civil

Se anima al lector que experimente con esta posibilidad.





CONCLUSIONES:

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 asistente 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.

No hay comentarios.:

Publicar un comentario