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
Cuando escribimos aplicaciones para android debemos tener cuidado al diseñar la interfaz en la posición que tomaran los[...]
El JTable de Java es un gran componente para mostrar datos en una tabla de una forma rápida y sencilla, sin embargo en v[...]
Realizar pruebas sobre nuestro código nos permiten comprobar su correcto funcionamiento e integración con otros módulos[...]
BottomNavigationView es una barra de navegación que se sitúa en la parte inferior de la pantalla en los dispositivos móv[...]
El procesamiento por lotes (batch processing) en PHP es la ejecución de tareas que implican una gran cantidad de datos u[...]
TikTok es una plataforma de microvideos muy popular entre los jóvenes el cual cuenta ya con millones de videos cortps de[...]