Buscar en el Blog

lunes, 10 de septiembre de 2012

Error al publicar un reporte con gráficos desde Pentaho Report Designer

El día de hoy en clase nos encontramos con el error de que no pudimos ejecutar en la consola de usuario de Pentaho (PUC) un reporte publicado desde Pentaho Report Designer (PRD) v3.8.2 que contenía gráficos.

Éste error se da por una incompatibilidad entre la versión del servidor de BI biserver-ce v3.8.0 y PRD v3.8.2

Para solucionar este error se tiene que proceder la siguiente forma:

1. Revisar el log de Pentaho ubicado en: C:\pentaho\biserver-ce-3.8.0\biserver-ce\tomcat\bin\pentaho.log

2. Revisando el log se puede observar lo siguiente:

org.pentaho.reporting.libraries.resourceloader.ResourceCreationException: Unable to parse the document: ResourceKey{schema=org.pentaho.reporting.libraries.docbundle.bundleloader.ZipResourceBundleLoader, identifier=layout.xml, factoryParameters={org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=repository}=org.pentaho.reporting.libraries.repository.zipreader.ZipReadRepository@1c1d051, org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=::Include-parser}=true, org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=::Report}=org.pentaho.reporting.engine.classic.core.MasterReport={name="Graficos", type="master-report"}, org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=repository-loader}=org.pentaho.reporting.libraries.docbundle.bundleloader.ZipResourceBundleLoader@1f864b, org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=property-expansion}=false}, parent=ResourceKey{schema=pentaho, identifier=curso-bi-pentaho/ReporteGraficos.prpt, factoryParameters={}, parent=null}}

Este error aparece al querer ejecutar el reporte desde la consola de usuario (PUC) y es ocasionado por lo siguiente:

org.pentaho.reporting.libraries.xmlns.parser.ParseException: Unable to assign property 'categoricalAxisMessageFormat' to expression 'null' [Location: Line=56 Column=73]

Es decir, PRD v3.8.0 genera esa propiedad con valor nulo pero biserver-ce v3.8.0 no la soporta, es por eso que se genera el error de incompatibilidad. La solución a éste inconveniente es comentar esa propiedad en el archivo layout.xml del reporte que contiene gráficos, como se indica a continuación.

3. Abrir WinRAR o WinZIP e ir al directorio de la solución en dónde se publico el reporte. Por ejemplo: C:\pentaho\biserver-ce-3.8.0\biserver-ce\pentaho-solutions\curso-bi-pentaho\reportes

4. Abrir el reporte que contiene gráficos y ubicar el archivo layout.xml. Dar doble clic para editar el archivo, y ubicar la propiedad categoricalAxisMessageFormat

5. Comentar esa propiedad como se muestra a continuación:

<!-- ... -->
<property name="chartWidth">0</property>
<!--property name="categoricalAxisMessageFormat">{0}</property-->
<property name="rangeMaximum">1.0</property>
<!-- ... -->

6. Guardar el cambio y actualizar el cambio en WinRAR

7. Finalmente, el reporte ya podrá ser visualizado en PUC.

6 comentarios:

  1. Es posible también que se tenga que comentar la propiedad itemLabelFont en el mismo archivo layout.xml

    ResponderBorrar
  2. Ingenierio realice lo que usted sugiere en este tutorial pero me sigue saliendo el mismo error

    ResponderBorrar
    Respuestas
    1. De preferencia visualiza el pentaho.log, para verificar sí esta faltanto comentar alguna otra propiedad como por ejemplo itemLabelFont

      Saludos,

      Borrar
  3. Estoy usando el Pentaho Report Desingner version: 3.8.3-GA. 14656, esas opciones q dices no estan en el layout.xml, y sin embargo me muestra el mismo error q comentas al inicio del articulo, alguna sugerencia¿¿?????

    ResponderBorrar
    Respuestas
    1. Verifica que la versión de BI-SERVER sea la 3.8.0 o superior. Saludos,

      Borrar
  4. Buenas tardes : Otra vez le escribo porque ud me dijo que verificase que la versión del BI Server fuese 3.8.0 o superior la mía es 3.8.0.stable.45256, y se me publican los reportes siempre y cuando no tenga gráfico alguno , o sea que me sigue dando el mismo error . Ud me podría sugerir algo ?? De hecho en mis reporte en el archivo layout.xml no aparecen las properties a las que ud hace referencia en el artículo. Saludos

    ResponderBorrar