Recomendar herramientas estables de informes de código abierto

Estoy a punto de comenzar el desarrollo de una plataforma web con la que puedo trabajar:

  • ASP.NET - MVC 4 - Marco de entidad
  • Ruby on Rails
  • JAVA (JSP, primavera, hibernación)

Mi cliente necesita 6 informes específicos, pero en realidad solicitó que él mismo pudiera crear más informes.

¿Podría proporcionarme enlaces a bibliotecas/servicios que sean de código abierto y puedan permitir que un usuario final avanzado cree sus propios informes seleccionando tablas/campos para combinar?

Conozco Jasper Studio - http://community.jaspersoft.com/project/jaspersoft-studio pero también quiero considerar otras herramientas de generación de informes para decidir en qué idioma/tecnología decidiré implementar el sitio web.

ACTUALIZAR Hay una base de datos SQL pero mi cliente no sabe o no quiere usar SQL.

Quiere seleccionar tablas y campos y combinarlos. En este momento, los resultados en una vista de lista o tabla podrían ser suficientes, pero supongo que en el futuro se necesitarán GRÁFICOS DE LÍNEAS o GRÁFICOS PIE

¡Bienvenido a Recomendaciones de software! ¿Podría decirnos más sobre cómo deberían verse los informes, qué características desea tener para su conjunto de informes, etc. Tal como está, todo lo que de alguna manera selecciona datos de algún lugar y se los presenta a alguien encajaría, lo cual es bastante amplio? ¿Qué tipo de datos se van a presentar? ¿De qué manera? ¿Liza? resúmenes? ¿Gráficos circulares? ¿El "usuario final avanzado" sabe SQL (si hay una base de datos SQL?) ¿Dónde se almacenan los datos y cómo debe conectarse la herramienta de generación de informes?
@AngeloFuchs Acabo de actualizar mi pregunta
"mi cliente no sabe o no quiere usar SQL. Quiere seleccionar tablas y campos y combinarlos", entonces, ¿quiere algo para aplicar ingeniería inversa a la base de datos y luego permitirle elegir tablas y columnas usando una GUI? Algo así como tmssoftware.com/site/qs.asp , pero basado en la web. ¿Es eso correcto?
@Mawg suena bien. incluso si no se necesita la ingeniería inversa (configurando qué tablas/columnas se pueden usar para construir los informes)
¿Dónde estarían los datos? ¿No está en la base de datos SQL?
@NicolasRaoul hay una base de datos SQL (probablemente mysql o mssqlserver)
@MauricioGracia: Entonces quiere informar sobre datos de la base de datos SQL, pero sin usar SQL, ¿estoy entendiendo correctamente?
@NicolasRaoul el usuario no sabe cómo escribir SQL, la herramienta debería permitirle seleccionar tablas/columnas y combinarlas visualmente. la herramienta debería traducir eso a SQL según sea necesario
@MauricioGracia: Genial ya entiendo. ¿Podría agregar esta información a su pregunta? ¡Gracias!
@NicolasRaoul ya está ahí, léalo todo de nuevo ;-)

Respuestas (3)

Te recomiendo usar Jasper Reports con su cliente Jaspersoft Studio . He usado su predecesor iReport bastante a menudo y con mucho éxito. Para mis necesidades, la versión comunitaria siempre fue suficiente, así que no probé personalmente los productos extendidos, pero escuché cosas buenas sobre ellos.

Los informes de Jasper vienen en tres partes: una es una biblioteca que incluye con su programa Java que toma la segunda parte, el archivo JRXml que contiene la definición técnica del informe y produce un buen resultado.

La tercera parte es la herramienta de creación de JRXml (Studio, anteriormente iReport), una herramienta que tiene una GUI funcional que le permite arrastrar y soltar los elementos de sus informes para hacer lo que desea mostrar. Incluye un diseñador SQL de arrastrar y soltar que realizará la mayoría de las consultas simples como "SELECT * FROM a, b, c WHERE a.identifier = ? AND a.id = b.a_id AND c.id = a.c_id". Pero tiene sus límites y, a veces, su cliente lo llamará para que lo ayude a obtener esa consulta correctamente hasta que llegue a conocer SQL.

El Creador también viene con una herramienta de conexión de fuente de datos, por lo que puede crear los informes utilizando solo el Creador. Si solo tiene una persona en el cliente que necesita los informes, este podría ser el camino a seguir en lugar de enviar la biblioteca con su herramienta.

Los informes de Jasper funcionan así: primero define la consulta de los datos que desea seleccionar. Por lo general, eso involucra algunos parámetros que provienen de su programa, como una identificación de cliente. Luego, define esos parámetros para el informe en sí mismo para que JR pueda conectarlos más tarde cuando sea el momento de ejecutar el informe.

Luego, deje que el Creador tome todos los campos que su informe devolverá de la consulta y los almacenará como "Campo", que luego arrastrará y soltará donde desee tenerlos. Usted decide qué información desea que se muestre en la parte superior de la primera página (como el nombre del cliente), qué información presentar en la parte superior de cada página (como una cantidad acumulada) y qué información desea mostrar en cada línea. Hay más lugares que este, pero entiendes el punto.

Si desea tener elementos acumulativos, utiliza variables para codificarlos, selecciona el campo que acumulan y la forma en que lo hacen. Cada acumulación se realiza por línea que proviene de su consulta. Puede arrastrar y soltar las variables al igual que los parámetros y los campos directamente donde desee tenerlos.

Jasper Reports puede hacer muchos de los informes con bastante facilidad, pero no son compatibles con el usuario final. El uso de Creator Tool tiene una curva de aprendizaje. Si le entrega a su cliente algunos informes de ejemplo simples para su conjunto de datos específico, se lo hará mucho más fácil.

Stack Overflow tiene muchos buenos recursos para preguntas sobre Jasper Reports .

Hay una nueva herramienta llamada Helical Insight, que es una herramienta de BI de código abierto con la que puede crear informes, paneles y visualizaciones de datos. Su característica única es 'BI instantáneo', que no es más que PNL y aprendizaje automático en el que puede escribir sus preguntas comerciales y obtener información instantánea. Para obtener más detalles, puede visitar el sitio web en www.helicalinsight.com

Si desea utilizar el código abierto, sus opciones son principalmente Jasper Reports, Pentaho y BIRT, y todas se ejecutan en Java; en la tierra de .NET, no hay herramientas de informes de código abierto que yo sepa, pero hay muchas buenas de código cerrado; Desafortunadamente, no conozco Ruby on Rails, así que no puedo guiarte al respecto.

Por cierto, creo que desea algo altamente refinado que evite el lenguaje SQL tanto como sea posible, me temo que en el mundo del código abierto no encontrará algo tan fácil de usar, por lo que es posible que deba decirle a su cliente que aprender SQL o contratar a alguien que lo haga.