¿Cómo dibujar gráficos o tablas de diseño personalizado en los informes BIRT?

Estoy tratando de generar un informe basado en algunos datos de un archivo XML. Básicamente, la primera página del informe contiene texto estático, un logotipo, texto y datos dinámicos y dos gráficos. y las siguientes páginas deben contener algo de texto y un gráfico al lado. Tengo un problema muy grande aquí. Los gráficos que proporciona BIRT no son adecuados para mi informe, así que pensé que tal vez podría producir algunos gráficos (con una aplicación externa) en función de los datos de mi archivo xml, guardar los gráficos en archivos y, finalmente, cargarlos dinámicamente en mi informe. . Esto es muy fácil para los gráficos de la primera página. Sin embargo, las siguientes páginas deben tener sus propios gráficos y no pude encontrar una forma adecuada de incluir las imágenes correspondientes en las siguientes páginas. Asi que aqui están mis preguntas:

  1. ¿Es posible crear de alguna manera gráficos personalizados? en caso afirmativo, ¿cómo hacer esto? y ¿cómo puedo agregar gráficos a las páginas 2,3,... de mi informe?
  2. Tengo todos los datos necesarios en mi archivo xml, ¿es posible dibujar gráficos sobre la marcha con algún javascript mientras se crea el informe? Quiero decir, al usar los datos, acabo de dibujar mi propio gráfico diseñado a medida (este es un gráfico muy simple y sin cosas sofisticadas)
  3. Si busco la solución de crear mis gráficos externamente y agregarlos al informe dinámicamente, ¿cómo puedo agregar estas imágenes dinámicamente a las 2,3,... páginas de mi informe (¡cada página tiene su propio gráfico!) usando múltiples páginas maestras me ayudan?

preguntado el 03 de mayo de 12 a las 22:05

BIRT tiene una amplia variedad de tipos de gráficos disponibles (particularmente las versiones más recientes de BIRT). ¿Qué tipos de gráficos desea mostrar y qué versión de BIRT está utilizando? -

una versión muy simple en un gráfico de calibre lineal que BIRT no tiene -

Incluso si no puede usar un gráfico de medidor, probablemente podría usar un gráfico de barras o de líneas para producir el resultado equivalente; ambos tienen una opción de cambio de eje que le permite intercambiar los ejes x e y. -

El problema es que ambos valores de mi eje x y eje y son valores de cadena. y el medidor debe mostrar una puntuación de relevancia entre ellos. BIRT me obliga a usar funciones agregadas que no me permiten usar cadenas y siempre se deben proporcionar números:

Creo que quiere decir que sus entradas son valores de cadena, y quiere que la salida del medidor sea el puntaje de relevancia entre ellos, en cuyo caso, el puntaje normalmente iría en el eje y (que lo trazaría verticalmente), así que volteando el los ejes lo presentarían horizontalmente. -

1 Respuestas

Puede crear gráficos de diseño personalizado con D3.js o Flash y agregar saltos de página donde los necesite en BIRT Designer 4.x. Hay tutoriales en línea para usar Flash dentro de un informe BIRT.

Si crea sus propios gráficos fuera de BIRT, puede importarlos como imágenes usando el gadget de imagen y un URI para sus imágenes.

Si desea utilizar D3.js,

  • Añadir cabeza.js("http://d3js.org/d3.v3.js"); al script ClientScript > clientInitialize del diseño del informe
  • Agregue un script a su conjunto de datos que crea:
    • una matriz como myArray = new java.util.ArrayList(); antes deAbrir
    • un script para llenar esa matriz usando el evento onFetch del conjunto de datos, por ejemplo myArray.add("['"+fila["fecha"]+"','"+fila["ventas"]+"']") ;
    • un script para copiar la matriz a una variable global como reportContext.setPersistentGlobalVariable("myArray",myArray);
  • Agregue un elemento de texto al diseño del informe donde:
    • Toma la variable global, por ejemplo: var data = reportContext.getPersistentGlobalVariable("myArray");
    • use d3.js JavaScript para crear la visualización SVG que desee, utilizando los datos de la variable global.

Si pasa al BIRT Designer Professional comercial, se incluyen objetos Flash y también obtiene la biblioteca highcharts de gráficos HTML5 que puede editar con JavaScript usando la API de highcharts.org.

Respondido 06 ago 14, 10:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.