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 personalizaremos un componente JComboBox para que sus elementos acepten tablas (JTable) en lugar de texto s[...]
Si diseñamos paginas web, nos habremos topado con el problema de colocar una imagen de fondo y que este se adapte a toda[...]
JTree cuenta con métodos que nos permiten cambiar los iconos de cada nodo según su estado, sin embargo a veces esto no e[...]
En este post conoceremos una forma de representar grafos mediante una Matriz de Adyacencia y un ejemplo básico de este e[...]
¿Qué es Maven? Maven es una herramienta de software para la gestión y construcción de proyectos Java. Provee un conjunto[...]
Un array es un conjunto finito y ordenado de elementos homogeneos. Ordenado porque los elementos n-esimo de un array pue[...]