Saltar la navegación

4.3.2.- Ejemplo: Informe con agrupamiento complejo.

Ilustración de un informe agrupado por la letra inicial del nombre del cliente.
Montaña Martín Vergel (Elaboración propia)


En nuestro segundo ejemplo, vamos a obtener un informe en donde se muestren los datos agrupados por el resultado del cálculo de una expresión. En este caso vamos a mostrar en el informe el nombre de cada cliente, la dirección y ciudad agrupados por la primera inicial del nombre de los clientes.

Comenzaremos creando un informe nuevo y vacío con el nombre Ejemplo_agrupamiento_complejo. Configuraremos la sentencia SQL que se va a asociar a dicho informe. Para este ejemplo, utilizaremos la siguiente consulta SQL:

SELECT nombre, direccion, ciudad FROM clientes order by nombre


Los registros seleccionados ordenados por el nombre de los clientes.

Al informe, le asignaremos como título "Listado de clientes ordenados alfabéticamente". Para ello, introduciremos una etiqueta en la banda  Title con dicho texto.

Por cada cliente, se mostrará el nombre del cliente (cliente), la dirección del cliente (direccion) y la ciudad del cliente (Ciudad). Por lo tanto, añadiremos los campos nombre, direccion y ciudad a la banda Detail. Eliminaremos las etiquetas que nos aparecerán de forma automática en la banda Column Header. Reduciremos la altura de las bandas que no utilicemos a cero. El diseño del informe quedará de la siguiente forma:

Ilustración de una captura del diseño del informe.
Montaña Martín Vergel (Elaboración propia)

En este ejemplo, añadiremos en el encabezado del grupo, la letra por la que comienza el nombre del cliente de cada persona.

Ilustración de una captura de pantalla de la creación de un agrupamiento por el resultado de una expresión.
Montaña Martín Vergel (Elaboración propia)


En el pie del grupo mostraremos el número de registros que hay en cada grupo.

Comenzaremos añadiendo un nuevo agrupamiento. Para ello, pulsaremos la opción Add report group, de la misma forma que lo hicimos en el ejemplo anterior. Le asignaremos el nombre Primera_letra. En esta ocasión, vamos a configurar el agrupamiento para que sea por el resultado del cálculo de una expresión. 

Para ello, activaremos la opción Group by the following expression, e introduciremos la sentencia para obtener la primera inicial del nombre del cliente:

$F{nombre}.charAt(0)

Activaremos las opciones Add the group header y Add the group footer para mostrar el encabezado de grupo y pie de grupo.

Arrastraremos al encabezado del grupo, desde la paleta, un campo de texto (Text Field) y en su propiedad Text Field Expression introduciremos el valor: $F{nombre}.charAt(0)

Ilustración de una Captura de pantalla de la configuración de la propiedad  Text Field  Expression
Montaña Martín Vergel (Elaboración propia)

 

En el pie de grupo introduciremos una etiqueta con el texto "Número de clientes" y el campo nombre, pero indicando que se aplique la fórmula de contar (Count). De esta forma conseguiremos que se muestre el número de clientes por cada agrupamiento.

Ilustración de la propiedad Text Field Expression del campo de texto.
Montaña Martín Vergel (Elaboración propia)



El diseño del informe quedará de la siguiente forma:

Ilustración de una captura de pantalla del diseño del informe.
Montaña Martín Vergel (Elaboración propia)