Buscar en el Blog

martes, 27 de noviembre de 2012

Consulta SQL para conocer la tabla destino de las transformaciones en PDI

En ésta publicación comparto una consulta SQL a ejecutarse sobre el repositorio de la herramienta Spoon de Pentaho Data Integration (PDI_REPO) para conocer las tablas destino (Table Output) de todas las transformaciones creadas en la herramienta Spoon.

select trs.NAME as trs_name, 
       upper(to_char(sta.VALUE_STR)) as dest_table 
from   R_STEP rs, 
       R_STEP_TYPE rst, 
       R_TRANSFORMATION trs, 
       R_STEP_ATTRIBUTE sta 
where  rs.ID_STEP_TYPE = rst.ID_STEP_TYPE 
and    rst.CODE = 'TableOutput'
and    rs.ID_TRANSFORMATION = trs.ID_TRANSFORMATION 
and sta.ID_STEP = rs.ID_STEP and sta.CODE = 'table'
ORDER BY 1


lunes, 19 de noviembre de 2012

Cómo colocar la fecha del sistema en un reporte de PRD

En ésta publicación explico cómo colocar la fecha del sistema en un reporte de Pentaho Report Designer sin usar la función Deprecated > Date.

Para colocar la fecha del sistema en cualquier banda del reporte, se tiene que arrastrar un message-field y colocar lo siguiente:

$(report.date,date,dd/MM/yyyy hh:mm:ss)

En dónde en el último argumento se coloca el formato de fecha que queremos mostrar basado en el formato del API Java Date Format

lunes, 12 de noviembre de 2012

Cómo mostrar texto rico definido en HTML en Pentaho Report Designer

Supongamos que se tiene un campo en la base de datos de tipo VARCHAR con datos definidos como texto rico (RTF) en HTML y se desea renderizar ese HTML cuando se visualice el reporte.

Para poder realizar esto en PRD vamos a suponer que tenemos los siguientes datos:

<b>Probando</b><br/>RTF desde <i>PRD</i>

Una vez que se arrastre el campo a la banda de detalles de PRD, se tiene que definir el atributo rich-text-type:

common/rich-text-type = text/html

Con esta propiedad el HTML plano del campo VARCHAR será interpretado y visualizado como HTML en PRD como se muestra a continuación:


Consideraciones para el uso de Pentaho Metadata Editor

Una capa de metadatos de Pentaho (PML, Pentaho Metadata Layer) construida con la herramienta Pentaho Metadata Editor (PME) permite crear un modelo derivado de un DWH con definiciones orientadas al negocio, campos calculados y formateados que sirven para que los usuarios finales puedan generar reportes a demanda (Ad Hoc) usando alguno de los reporteadores: WAQR, WAQE o Saiku Reporting.

A continuación resumo los pasos a seguir cuando se construya un modelo de metadatos con PME:

1. Definir la localización es_EC

2. Crear una conexión al DWH (Capa Física)

3. Usando la conexión creada importar las tablas que se quieren representar en el modelo

4. A nivel de capa lógica (Business Tables) realizar lo siguiente:
  • Ocultar las claves subrogadas (SKs), claves primarias(PKs), campos de versión, válido desde y válido hasta marcando la propiedad Hidden For the user?
  • Reescribir los nombres de las tablas y campos en términos orientados al negocio
  • Definir la función de agregación por defecto (Default Aggregation) para los indicadores de la tabla de hechos
  • Dar formato a los campos numéricos o de fecha usando la propiedad Miscellaneous / Mask for Number or Date
  • Para crear un campo calculado definir en la fórmula: SUM([nombreColumna1]+[nombreColumna2]), marcar la propiedad Is the Formula Exact? y definir la propiedad Default Aggregation como SUM.
5. A nivel de capa de presentación (Business View) marcar las tablas que se quiere mostrar al usuario final y  definir el orden de las mismas

6. Verificar que el modelo esté correcto usando Query Editor

7. Finalmente publicar el modelo de metadatos a Pentaho Server

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.