Matando dos pájaros de un solo tiro :), doy respuesta a un par de preguntas que están relacionadas, en este post veremos una forma de crear gráficos con iReport, utilizando parámetros de entrada de tipo DATE para realizar una consulta entre un rango de fechas o.O. Te recomiendo te pases por post anteriores [Gráfico de columnas con iReport] , [Gráficos de tortas en iReport] porque en este tutorial dejare por sentado de que sabes los pasos básicos para agregar un gráfico en ireport. Vamos al grano.
Herramientas
– JasperReport 5.1.0
– Base de datos MySQL y conocimientos sobre SQL
Base de datos
La base de datos que se utilizara en este post, esta formado por una sola tabla «detalle» y es el siguiente:
-- -- Estructura de tabla para la tabla 'detalle' -- CREATE TABLE detalle ( ingresos int(10) NOT NULL, egresos int(10) NOT NULL, registro date NOT NULL, PRIMARY KEY (registro) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Volcar la base de datos para la tabla 'detalle' -- INSERT INTO detalle VALUES (45, 23, '2013-01-02'); INSERT INTO detalle VALUES (22, 76, '2013-01-10'); INSERT INTO detalle VALUES (55, 12, '2013-02-01'); INSERT INTO detalle VALUES (45, 77, '2013-02-05'); INSERT INTO detalle VALUES (44, 87, '2013-02-12'); INSERT INTO detalle VALUES (24, 76, '2013-02-13'); INSERT INTO detalle VALUES (65, 43, '2013-03-01'); INSERT INTO detalle VALUES (34, 67, '2013-03-07'); INSERT INTO detalle VALUES (76, 54, '2013-03-14'); INSERT INTO detalle VALUES (77, 32, '2013-03-15'); INSERT INTO detalle VALUES (33, 71, '2013-04-02'); INSERT INTO detalle VALUES (24, 54, '2013-04-03');
La estructura de esta tabla es similar a la del post [Gráficos de tortas en iReport], ya que el gráfico que crearemos en esta ocasión, también es similar al gráfico de columnas.
Nuestros datos están formados por una serie de fechas que van desde el 2 de enero de 2013 hasta el 3 de abril de 2013 con dos valores numéricos «ingresos» y «egresos«.
Creando el Informe
1. Crea un informe en blanco 🙂
2. En propiedades de página FORMAT -> PAGE FORMAT , selecciona la opción LANDSCAPE para voltear la pagina.
3. A la plantilla en blanco añade un objeto CHART a la sección SUMMARY, el gráfico es de tipo LINE
4. Añade un titulo a la pagina y deja un pequeño espacio en la sección TITLE (al final veremos para que es), el resto de las secciones no las necesitamos, comprimelas para ganar espacio en la página, hasta ahora debes tener algo como esto:
5. Ahora debemos crear el Query, pero antes, necesitamos crear 2 parámetros de entrada llamados «defecha» y «afecha«.
Para crear parámetros en ireport, clic derecho en PARAMETERS que se encuentra en el menú REPORT INSPECTOR. A continuación elegir la opción AGREGAR PARAMETER, en propiedades de parámetro, renombrar el parámetro con «defecha» y en Parameter Class, elegir el tipo de dato «java.util.Date«. Añadir un segundo parámetro esta vez con el nombre de «afecha» de tipo Date.
El Query para este gráfico es:
OJO: Observe que re-nombramos y dimos formato al campo «registro» por el nuevo nombre de «fecha«.
Datos del gráfico
Clic derecho sobre el gráfico LINE -> CHART DATA ->Pestaña DETAILS
Agregaremos las series:
Hasta este punto, si ejecutamos una vista previa del informe y añadimos los parámetros «defecha» y «afecha» podremos ver algo como esto:
Terminamos el trabajo, pero podemos mejorarlo dando un formato al gráfico.
Dando formato.
Teniendo seleccionado el gráfico LINE, en sus propiedades modificamos lo siguiente:
En el espacio que dejamos en la sección title, añadimos 2 textfield para los parámetros de «defecha» a «afecha»
Nuestro resultado final es:
🙂 Creo que todo esta claro pero si hay alguna duda preguuuuuuuuuuntame cao que haremos lo posible para dar una respuesta satisfactoria, no coloco el archivo JRXML porque no lo vi necesario, sin embargo si lo desean, lo subo 🙂
FIN
En este post crearemos un swing Label personalizado que tendrá la forma circular en su borde, con esto obtendremos un bo[...]
En este post mostramos como personalizar el Header (encabezado) de un componente JTable en Java colocando iconos, centra[...]
En este post realizaremos una aplicación que pueda capturar nuestra voz y convertir en texto Pasar voz a texto con Andro[...]
El Método Congruencial Lineal Mixto es el más utilizado en simulación en computadoras digitales y esta basado en una rel[...]
Un Action Provider es un elemento que habita en la Action Bar para incrementar la accesibilidad de nuestras aplicaciones[...]
En un post anterior conocimos que es y como funciona un parámetro de entrada IN en procedimientos almacenados y lenguaje[...]