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.