Gráficos en Ireport con Subreportes

Quisiera que por favor me ayudaras con lo siguiente:
Necesito hacer un gráfico, en este caso Bar3D, pero los datos que necesito graficar son todos resultados de varios subreportes que están en el reporte padre, que es donde voy a mostrar el gráfico. Es decir por cada subreporte en el reporte padre muestro un valor que retorno del subreporte, es más, lo visualizo en el reporte padre, perfecto, pero cuando lo uso para graficar, no me muestra nada en el gráfico. No se que puede estar pasando, necesito saber si esto quiero hacer, es posible.
Ahora, cuando le paso valores producto del query padre, si me los gráfica.

2 respuestas

Respuesta
1
¿En qué programa se van a hacer las gráficas?
Julius
-Guatemala-
El gráfico se genera en la misma herramienta Ireport. Es un generador de reportes y también puedes generar gráficos en él
Pues no he utilizado dicha herramienta, sin embargo se me ocurre que pueda ser lo siguiente:
Generalmente este tipo de software para graficar utiliza datos que proceden de una fuente de base de datos (un query, una tabla) entonces puede ser que por ser datos que retornan de un subreporte por eso no los gráfica.
Una forma en la cual se puede graficar eso es tener un consulta que muestre los valores que también se están mostrando en los subreportes para graficarlos desde esa consulta y no desde los valores retornados por el subreporte, incluso, con eso se evitaría el hacer subreportes
Julius
-Guatemala-
Si creo que estas en lo cierto, porque no he encontrado forma de que me los grafique. El problema es que en el reporte padre solo puedo hacer un query, el cual es diferente a los querys que utilizo en los subreportes.
Gracias por responderme
Si se puede, hay que utilizar subconsultas, un ejemplo sería tal como sigue:
select
    a.dato1, b.dato2, c.dato3
From
    (Select dato1 from tabla1) a,
(select dato2 from tabla2) b,
(select dato3 from tabla3) c
En este caso se pueden obtener 3 datos que vienen de 3 fuentes distintas que pueden ser consultas a otras tablas
Julius
-Guatemala-
Hice este select y me da error de sintaxis y se ubica en el primer select del from. El manejador de la BD es informix
SELECT a.mto_anu, b.mto_ncre
FROM (SELECT SUM(saldo) AS mto_anu
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND fecha_proceso = "10/03/2008"
AND tip_docto = "FA"
AND ubic_docto = "ANU"
AND origen = 3
AND validez = "E") a,
(SELECT SUM(saldo) AS mto_ncre
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND fecha_proceso = "10/03/2008"
AND tip_docto = "FA"
AND ubic_docto "ANU"
AND origen = 3
AND monto saldo) b
No he trabajado con informix, pero si cumple el standard SQL ANSI, yo lo haría así
SELECT a.mto_anu, b.mto_ncre
FROM (SELECT SUM(saldo) AS mto_anu
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND fecha_proceso = '10/03/2008'
AND tip_docto = 'FA'
AND ubic_docto = 'ANU'
AND origen = 3
AND validez = 'E') a,
(SELECT SUM(saldo) AS mto_ncre
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND fecha_proceso = '10/03/2008'
AND tip_docto = 'FA'
AND ubic_docto 'ANU'
AND origen = 3
AND monto saldo) b
Otra cosa, lo mejor es hacer cada consulta por separado, y cuando ya está funcionando se va agregando a una consulta más compleja. Tal vez comenzar solo con lal subconsulta y cuando ya jale entonces agregarla un solo campo a la consulta principal, después probar con la otra y cuando jale, agregarla también a la consulta principal
Julius
-Guatemala-
SELECT a.mto_anu, b.mto_ncre
FROM (SELECT SUM(saldo) AS mto_anu
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND fecha_proceso = '10/03/2008'
AND tip_docto = 'FA'
AND ubic_docto = 'ANU'
AND origen = 3
AND validez = 'E') a,
(SELECT SUM(saldo) AS mto_ncre
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND fecha_proceso = '10/03/2008'
AND tip_docto = 'FA'
AND ubic_docto= 'ANU'
AND origen = 3
AND monto saldo) b
Disculpa, pero me sigue arrojando error y lo indica en el SUM del primer select del from, ¿ves algún error de sintaxis que yo no vea?
Las dos consultas llegan bien por separado.
¿Y exactamente que dice el error?
Ya resolvi. Gracias por tu ayuda. Encontre una forma alterna de resolver mi problema. EL query me esta quedando algo como esto, y funciona
SELECT SUM(saldo) AS sal_ncred, SUM(monto) AS mto_ncre,
(SELECT SUM(saldo)
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND fecha_proceso = "4/03/2008"
AND tip_docto = "FA"
AND ubic_docto = "ANU"
AND origen = 3
AND validez = "E") AS mto_anu,
(SELECT SUM(saldo)
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND cliente NOT IN ("DEL0105","DEL0106","DEL0107","DEL0108","HIP0001","HIP0003","COM0103","COM0106","COM0107","COM0108","COM0235","COM0236","COM0237","COM0238","COM0251","COM0255","COM0266","COM0268")
AND fecha_proceso = "4/03/2008"
AND tip_docto = "FA"
AND ubic_docto "ANU"
AND origen = 3
AND validez = "A") AS mto_cre,
(SELECT SUM(saldo)
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND cliente IN ("DEL0105","DEL0106","DEL0107","DEL0108","HIP0001", "HIP0002")
AND fecha_proceso = "4/03/2008"
AND tip_docto = "FA"
AND ubic_docto "ANU"
AND origen = 3
AND validez = "A") AS mto_empasoc
FROM e_factura
WHERE cod_empresa = 1
AND cod_sucursal = 1
AND fecha_proceso = "4/03/2008"
AND tip_docto = "FA"
AND ubic_docto "ANU"
AND origen = 3
AND monto saldo
Respuesta
1
Haber si te entendí bien, ¿tienes un reporte tipo "drill down"? ¿Osea tienes un reporte en el cual te salen datos de un query "padre" y quieres hacer algo como hacerle click a una de las barras y que te salga un nuevo reporte con la información desglosada de esa barra en un nuevo reporte a partir de un query "hijo"? ¿Qué reporteador estas utilizando? ¿Podrías enviar los querys para darme una idea?
Hola gracias por responderme. Lo que quiero hacer es construir el gráfico en función de valore que retornan los subreportes que están en el informe padre, pero por lo que he estado viendo, no se puede. Tal parece que los valores tienen que ser producto del query padre.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas