Estimad@s,
hace unos días comencé con la lectura de Pentaho Analytics for MongoDB, se trata de un libro escueto pero conciso, en el cual se muestra como acceder y explotar datos desde la base de datos documental Mongo DB utilizando características de la suite Pentaho EE. El autor del libro es Bo Borland.
Este libro fue editado por Packt Publishing aquí y también está disponible como White Paper en la página de Pentaho aquí.
El material nos guía partiendo de la instalación de Mongo DB y Pentaho como así también de la base de datos de ejemplo. Luego, el autor, hace una breve introducción a Mongo DB, sus características y muestra algunos ejemplos de como consultar y trabajar con los datos almacenados.
Luego, utilizando Pentaho Instaview (característica de la versión EE) , se configura como fuente Mongo DB y se muestra como visualizar inmediatamente los datos.
Más tarde se sigue ahondando en Instaview, siempre desde PDI, para crear análisis (usando mapas, entre otros) desde fuentes de datos heterogéneas.
Una de las partes más interesantes es cuando se sigue trabajando con Instaview para crear modelos multidimensionales, realmente la herramienta permite hacerlos en pocos minutos y explotarlos inmediatamente.
El libro continúa haciendo una breve introducción a PRD para luego crear un reporte que obtiene datos desde Mongo DB. Poco a poco se adorna el reporte hasta obtener uno con gráficos y una presentación excelente.
Finalmente, el autor, hace una introducción a la consola de usuario de Pentaho (PUC) y luego muestra como desplegar los reportes y análisis en PUC desde las diversas herramientas.
Mi apreciación personal:
Si bien gran parte del libro requiere disponer de la versión EE de Pentaho (la que se puede descargar en versión de prueba de 30 días) en muchos casos lo que se explica se puede realizar con herramientas de la versión CE. Las explicaciones son muy claras y puntuales, no dejan dudas respecto de lo que se quiere exponer. Vale la pena aclarar que se utilizan las versiones de Pentaho y Mongo DB para Window$ de 64 bits.
Espero les sea de utilidad.
Saludos
Mariano
Mostrando las entradas con la etiqueta prd. Mostrar todas las entradas
Mostrando las entradas con la etiqueta prd. Mostrar todas las entradas
lunes, julio 28, 2014
martes, mayo 13, 2014
Pentaho Reporting [Video] - Review (en español)
Estimad@s,
en este caso expondré de forma resumida mis apreciaciones acerca del video curso de Pentaho Reporting (PRD) desarrollado por Francesco Corti que es un gran contribuyente a la comunidad Pentaho.
En términos generales diré que el curso es de poco más de una hora y media, está dividido en pequeños videos de unos 3 a 4 minutos cada uno, cada video toca un tema en particular y lo hace de forma muy sintética y va directo al grano, sin rodeos.
El hecho de ir directamente al punto es una ventaja y desventaja al mismo tiempo, es ventajoso para los que de alguna forma tenemos práctica con PRD, Pentaho Data Integration (PDI) y Java, ya que no requerimos ver cada detalle, pero para aquellos que no tienen práctica previa, deberán detener continuamente el video.
Los ejemplos desarrollados son simples y concretos, eso facilita el aprendizaje, por otro lado la narración es muy buena, el inglés es clarísimo, aunque de vez en cuando cambia el todo.
El sistema de navegación del curso es claro y bastante cómodo, se basa en una interfaz web.
Todos los ejemplos desarrollados en el curso, están disponibles para descargar, por ello la persona que toma el curso, no debe preocuparse por tipear o seguir cada paso.
En detalle el curso consta de:
Getting Started with Pentaho Reporting [15:57 minutes]
Dive Deeper into the Pentaho Reporting Engine's XML and Java APIs [11:44 minutes]
Configuring the JDBC Database and Other Data Sources [12:43 minutes]
Introducing Graphic Chart Types – Pie, Bar, Line, and Others [10:36 minutes]
Modifying Reports Using Parameters and Internationalization [11:14 minutes]
Adding Subreports and Cross Tabs in Your Reports [09:52 minutes]
Building Interactive SWING and HTML Reports [12:29 minutes]
Using Pentaho Reporting in the Pentaho Suite [13:10 minutes]
Como podrán observar, toca una diversidad importante de temas, algunos de ellos no triviales, pero por demás interesantes.
Personalmente, me ha gustado y he disfrutado de este curso. "SIEMPRE SE APRENDE ALGO NUEVO!"
Recomiendo este curso a personas que ya tienen una mínima práctica con PRD, PDI y Java.
Aquí una vista previa del curso: https://www.youtube.com/watch?v=nzzhR74s_g8
Saludos
Mariano
en este caso expondré de forma resumida mis apreciaciones acerca del video curso de Pentaho Reporting (PRD) desarrollado por Francesco Corti que es un gran contribuyente a la comunidad Pentaho.
En términos generales diré que el curso es de poco más de una hora y media, está dividido en pequeños videos de unos 3 a 4 minutos cada uno, cada video toca un tema en particular y lo hace de forma muy sintética y va directo al grano, sin rodeos.
El hecho de ir directamente al punto es una ventaja y desventaja al mismo tiempo, es ventajoso para los que de alguna forma tenemos práctica con PRD, Pentaho Data Integration (PDI) y Java, ya que no requerimos ver cada detalle, pero para aquellos que no tienen práctica previa, deberán detener continuamente el video.
Los ejemplos desarrollados son simples y concretos, eso facilita el aprendizaje, por otro lado la narración es muy buena, el inglés es clarísimo, aunque de vez en cuando cambia el todo.
El sistema de navegación del curso es claro y bastante cómodo, se basa en una interfaz web.
Todos los ejemplos desarrollados en el curso, están disponibles para descargar, por ello la persona que toma el curso, no debe preocuparse por tipear o seguir cada paso.
En detalle el curso consta de:
Getting Started with Pentaho Reporting [15:57 minutes]
- Installing Pentaho Reporting
- Loading and Saving Reports and Having a Preview
- Building a Report Using the Report Wizard
- Building the 'My First Report'
- Customizing the 'My First Report'
- Advanced Customization on the My First Report
Dive Deeper into the Pentaho Reporting Engine's XML and Java APIs [11:44 minutes]
- Setting the Java Development Environment
- Embedding a Pentaho Report in an Enterprise Web Application
- Embedding a Pentaho Report in a SWING Application
- Introducing Serialized Reports
- Building a Report Using Pentaho Reporting’s Java API
Configuring the JDBC Database and Other Data Sources [12:43 minutes]
- Configuring Your Data Source to a DBMS Using JDBC
- Configuring Your Data Source to an OLAP Engine (Mondrian)
- Configuring Your Data Source to an XML File and a Table
- Configuring Your Data Source to Metadata and PDI
- Working with Data Sources in Java
Introducing Graphic Chart Types – Pie, Bar, Line, and Others [10:36 minutes]
- Incorporating a Line Chart into a Pentaho Report
- Incorporating Supported Charts and Common Properties
- Incorporating and Customizing Charts into a Report
- Incorporating Images into a Report
Modifying Reports Using Parameters and Internationalization [11:14 minutes]
- Parameterizing a Pentaho Report
- Parameterizing a Pentaho Report Using Java
- Working with Functions and Expressions
- Working with Formulas
- Internationalization and Localization of Pentaho Reports
Adding Subreports and Cross Tabs in Your Reports [09:52 minutes]
- Adding a Multi-page Subreport in a Pentaho Report
- Parameterizing and Adding Chart Subreport in a Pentaho Report
- Adding a Side-by-Side Subreport in a Pentaho Report
- Adding Cross Tabs in a Pentaho Report
Building Interactive SWING and HTML Reports [12:29 minutes]
- Building Interactive Reports in SWING
- Building Interactive Reports in HTML
Using Pentaho Reporting in the Pentaho Suite [13:10 minutes]
- Using Pentaho Reporting with Pentaho Business Intelligence Server
- Using Pentaho Reporting with Pentaho Data Integration (Kettle)
Como podrán observar, toca una diversidad importante de temas, algunos de ellos no triviales, pero por demás interesantes.
Personalmente, me ha gustado y he disfrutado de este curso. "SIEMPRE SE APRENDE ALGO NUEVO!"
Recomiendo este curso a personas que ya tienen una mínima práctica con PRD, PDI y Java.
Aquí una vista previa del curso: https://www.youtube.com/watch?v=nzzhR74s_g8
Saludos
Mariano
jueves, febrero 27, 2014
Cursos Pentaho OSBI, Reporting & Dashboards
Estimad@s,
en abril comienzan 3 cursos Pentaho:



Para más información escribir a cursos@troyanx.com
Los cupos son limitados!, recomendamos reservar con anticipación.
en abril comienzan 3 cursos Pentaho:
- Pentaho 5.0 OSBI

- Pentaho Reporting:

- Dashboards Advanced (Nuevo!!! Ctools a tu alcance!):

Para más información escribir a cursos@troyanx.com
Los cupos son limitados!, recomendamos reservar con anticipación.
Saludos
Mariano
jueves, octubre 10, 2013
Taller FLOSS Reporting con Pentaho 5 en las jornadas de informática de la UNdeC
Los días 4 y 5 de octubre se realizaron en la Universidad Nacional de Chilecito (UNdeC) las VI Jornadas de Informática y Comunicaciones.
Fuimos invitados a dictar un taller sobre Pentaho Reporting 5, el mismo fue dictado el día 4 con muy alta concurrencia.
Aprovechamos la oportunidad para hablar de nuestro libro y el proceso de construcción. Algunos concurrentes fueron acreedores de copia (gracias Sandy Joseph de Packtpub).
Más información de las jornadas aquí.
Agradezco personalmente a Fernanda Carmona por la invitación y excelente recibimiento.
Saludos
Mariano
Fuimos invitados a dictar un taller sobre Pentaho Reporting 5, el mismo fue dictado el día 4 con muy alta concurrencia.
Aprovechamos la oportunidad para hablar de nuestro libro y el proceso de construcción. Algunos concurrentes fueron acreedores de copia (gracias Sandy Joseph de Packtpub).
Más información de las jornadas aquí.
Agradezco personalmente a Fernanda Carmona por la invitación y excelente recibimiento.
Saludos
Mariano
martes, septiembre 10, 2013
Curso de Pentaho Reporting (100% distancia!)
Hola Estmad@s.
Desde eGluBI, invitarl@s a nuestro nuevo curso online de Pentaho Reporting:
El curso será dictado a través de un aula virtual desde la cual nos encargaremos de guiar el proceso de aprendizaje, como así también de responder todas las consultas que vayan surgiendo.
El curso inicia el 15 de Octubre de 2013 y tiene una duración aproximada de 120hs. Los cupos son limitados así que quien tenga interés, le recomendamos se ponga en contacto o solicite más información a esta dirección: admin@troyanx.com
Saludos
Mariano
miércoles, diciembre 05, 2012
Expandir Colapsar con Pentaho Reporting salida HTML
Estimad@s,
esta vez escribo para compartir con ustedes algunos experimentos con Pentaho Reporting (PRD).
El caso es que viendo los ejemplos avanzados de PRD y tratando de mejorarlos en algunos casos, salen cosas como lo que les voy a contar en este post. Se trata de un método para expandir y colapsar cabeceras de grupo y detalles de forma muy sencilla.
Este ejemplo tiene como idea inicial, la propuesta por el ejemplo "HTML Actions.prpt", ejemplo que pueden encontrar si seleccionan del menú principal:
Help / Sample Reports / Advanced / HTML Actions
En el editor se ve así:
Ejecutándose en vista HTML así:
La verdad, muy bueno!, les recomiendo que lo vean.
Es la posibilidad de ocultar partes de la jerarquía lo que me llamó la atención y en lo que me puse a experimentar. De los experimentos salió una pequeña serie de funciones javascript genéricas que permiten trabajar con hasta 9 niveles jerárquicos siguiendo dos simples pasos por cabecera de grupo. En este post explicaré en detalle como hacerlo. Ahora veamos el resultado final:
Los datos que contiene la tabla forman una jerarquía que puede verse en la imagen anterior y que reproduzco a continuación:
Zona
Año
( Cliente | Importe )
Una Zona tiene varios Años y en un Año por Zona pueden existir varios hechos, cada hecho es un importe de venta a un cliente determinado. La cardinalidad es uno a muchos de zona hacia año y de uno a muchos de zona/año hacia los hechos. Los datos están ordenados con el criterio de agrupamiento, esto es: Zona+Año, se puede agregar el cliente y/o el importe, aunque esto último es anecdótico.
La siguiente es una captura de la tabla:
Luego tenemos las librerías javascript requeridas, a estas librerías y/o reglas de estilo CSS, las agregamos en el header del documento principal, a esto lo hacemos editando el atributo append-header de Master Report. Lo anterior se traduce en algo tan sencillo como que se agregará ese snippet al header del documento HTML cuando el reporte se exporte a ese formato.
Respecto a JQuery, solo descarguen la versión mínima, la abren con un editor de textos, seleccionan todo, copian y lo pegan en esta sección (debe ser lo primero) rodeado de tags < script >
A continuación una captura de como acceder a esta característica en el reporte:
Impresionante las posibilidades que brinda PRD no?
No entraré en detalle de las funciones que he creado, si algun@ está interesad@, solo debe hacer el comentario pertinente. Sin duda que valoraré cualquier aporte o mejora al código.
Teniendo en claro esto, manos a la obra, ahora la parte más sencilla, desarrollar el reporte.
Bueno, hasta aquí nada nuevo bajo el sol, verdad?
Es una de las cosas que más me gusta de esto, la simpleza.
Lo que sigue es lo que le da dinamismo al reporte y permite u otorga la posibilidad de expandir/colapsar datos.
Implementación de la funcionanlidad de expandir/colapsar:
Solo tres atributos hay que configurar por grupo, dos de los cuales implementan la funcionalidad, el tercero es solo adorno visual.
El primer atributo que configuraremos será xml-id, este atributo se transforma luego en un atributo id para el elemento HTML que renderiza el elemento Message, particularmente se trata de un elemento td.
Veamos en una imagen como hacerlo y que valor colocar para el grupo año.
El valor del atributo xml-id para este caso es =CONCATENATE("j2_";[zona];"_";[año]), esta expresión data como resultado para la zona Este y el año 2012 "j2_Este_2012", esto generará un valor único para cada grupo, muy importante comprender el concepto.
La primera parte de la cadena "j2_" es parte de la implementación, 2 significa que el grupo está 2do en la jerarquía, en este caso el 1ero será el grupo zona.
El render HTML generará algo así:
< td id="j2_Este_2010" colspan="3" > - Año: 2012 < / td >
Si se comprendió lo anterior, se puede deducir el valor para el atributo xml-id de zona: =CONCATENATE("j1_";[zona])
Bien, si hasta aquí se comprendió, ya está, lo que resta es mecánico y muy simple.
Vamos a establecer el valor al atributo on-click de los elementos Message que representan los grupos.
En este caso, en la figura anterior, se muestra como establecer el valor para el grupo zona. El valor asignado es: ="expandCollapse(this, true)", esto es siempre igual, solo vale la pena aclarar que el segundo parámetro (valor true) implica que los valores de los grupos contienen como primer caracter un "+", esto será cambiado automáticamente por un "-" al expandir y vuelta al "+" al colapsar (and so on...).
Recuerden asignar el mismo valor al grupo año.
[Nota mental: estaría muy bueno poder enviar como parámetro el nombre de las clases CSS que deben ser asignadas al grupo cuando está colapsado y cuando está expandido. ¿Alguien se anima a aportar esta característica?]
El reporte ya posee la característica de expandir/colapsar en render HTML. Solo resta mejorar la apariencia en la interacción, hablo de que cuando el usuario pase el mouse por encima del grupo vea un cursor más acorde a lo que el grupo permite hacer. Lo haremos usando una clase CSS que ya está entre los snippets de los que hablamos al inicio. La clase se llama mouse y el código CSS es el siguiente:
.mouse {
cursor: pointer;
}
Bien, ahora solo debemos establecer la clase mouse a los elementos Message que representan los grupos del reporte. Veamos esto en una figura para el grupo año:
Repetir esto con el grupo zona y listo!
Para probarlo solo debemos seleccionar la vista previa en HTML:
esta vez escribo para compartir con ustedes algunos experimentos con Pentaho Reporting (PRD).
El caso es que viendo los ejemplos avanzados de PRD y tratando de mejorarlos en algunos casos, salen cosas como lo que les voy a contar en este post. Se trata de un método para expandir y colapsar cabeceras de grupo y detalles de forma muy sencilla.
Este ejemplo tiene como idea inicial, la propuesta por el ejemplo "HTML Actions.prpt", ejemplo que pueden encontrar si seleccionan del menú principal:
Help / Sample Reports / Advanced / HTML Actions
En el editor se ve así:
Ejecutándose en vista HTML así:
La verdad, muy bueno!, les recomiendo que lo vean.
Es la posibilidad de ocultar partes de la jerarquía lo que me llamó la atención y en lo que me puse a experimentar. De los experimentos salió una pequeña serie de funciones javascript genéricas que permiten trabajar con hasta 9 niveles jerárquicos siguiendo dos simples pasos por cabecera de grupo. En este post explicaré en detalle como hacerlo. Ahora veamos el resultado final:
Bien, aquellos que tengan un poco de curiosidad sigan adelante, el resto puede obviar de aquí en adelante.
Partimos de un reporte inicial que tiene muy poco, solo la fuente de datos (se trata de una tabla estática embebida en el reporte) y las librerías javascript necesarias ya embebidas, explicaré en que lugar y como hacerlo. Al reporte inicial lo pueden descargar desde aquí.
Para este caso he utilizado la versión experimental de PRD 4, la pueden descargar desde aquí, aunque se puede hacer sin problema con versiones anteriores (no se con exactitud a partir de cual).
Así se ve el reporte inicial en PRD:
Como pueden ver he ocultado todas las bandas que no son necesarias en el reporte.
Zona
Año
( Cliente | Importe )
Una Zona tiene varios Años y en un Año por Zona pueden existir varios hechos, cada hecho es un importe de venta a un cliente determinado. La cardinalidad es uno a muchos de zona hacia año y de uno a muchos de zona/año hacia los hechos. Los datos están ordenados con el criterio de agrupamiento, esto es: Zona+Año, se puede agregar el cliente y/o el importe, aunque esto último es anecdótico.
La siguiente es una captura de la tabla:
Luego tenemos las librerías javascript requeridas, a estas librerías y/o reglas de estilo CSS, las agregamos en el header del documento principal, a esto lo hacemos editando el atributo append-header de Master Report. Lo anterior se traduce en algo tan sencillo como que se agregará ese snippet al header del documento HTML cuando el reporte se exporte a ese formato.
Respecto a JQuery, solo descarguen la versión mínima, la abren con un editor de textos, seleccionan todo, copian y lo pegan en esta sección (debe ser lo primero) rodeado de tags < script >
A continuación una captura de como acceder a esta característica en el reporte:
Impresionante las posibilidades que brinda PRD no?
No entraré en detalle de las funciones que he creado, si algun@ está interesad@, solo debe hacer el comentario pertinente. Sin duda que valoraré cualquier aporte o mejora al código.
Teniendo en claro esto, manos a la obra, ahora la parte más sencilla, desarrollar el reporte.
Luego completar los datos del grupo.
Debemos definir ahora el grupo principal, para hacerlo debemos:
Luego completamos los datos:
Hasta aquí, la estructura del reporte debería quedar así:
Ahora coloquemos los elementos en el reporte.
El Detalle:
Primero un rectángulo, le damos el color (pueden usar el selector de combinación de color que está en la barra de herramientas) y las dimensiones. Luego arrastramos el campo cliente y el campo importe al detalle dentro del rectángulo. Será necesario darle una combinación de colores a los campos también. Pueden ver los detalles en la siguiente figura:
Los Grupos:
Como en el caso anterior, primero arrastramos un rectángulo en cada uno de las cabeceras de grupo. La cabecera de grupo que se encuentra en la parte superior pertenece al grupo de mayor jerarquía, en este caso se trata de zona. Luego de colocarlos en su lugar, habrá que asignar un color a cada rectángulo.
Procedemos ahora a colocar sobre los rectángulos los elementos que aportarán los datos, arrastraremos dos elementos Message, uno sobre cada rectángulo, le asignamos la combinación de color y establecemos el atributo value para cada uno.
Valores de value para:
zona: - Zona $(zona)
año: - Año $(año)
Bueno, hasta aquí nada nuevo bajo el sol, verdad?
Es una de las cosas que más me gusta de esto, la simpleza.
Lo que sigue es lo que le da dinamismo al reporte y permite u otorga la posibilidad de expandir/colapsar datos.
Implementación de la funcionanlidad de expandir/colapsar:
Solo tres atributos hay que configurar por grupo, dos de los cuales implementan la funcionalidad, el tercero es solo adorno visual.
El primer atributo que configuraremos será xml-id, este atributo se transforma luego en un atributo id para el elemento HTML que renderiza el elemento Message, particularmente se trata de un elemento td.
Veamos en una imagen como hacerlo y que valor colocar para el grupo año.
El valor del atributo xml-id para este caso es =CONCATENATE("j2_";[zona];"_";[año]), esta expresión data como resultado para la zona Este y el año 2012 "j2_Este_2012", esto generará un valor único para cada grupo, muy importante comprender el concepto.
La primera parte de la cadena "j2_" es parte de la implementación, 2 significa que el grupo está 2do en la jerarquía, en este caso el 1ero será el grupo zona.
El render HTML generará algo así:
< td id="j2_Este_2010" colspan="3" > - Año: 2012 < / td >
Si se comprendió lo anterior, se puede deducir el valor para el atributo xml-id de zona: =CONCATENATE("j1_";[zona])
Bien, si hasta aquí se comprendió, ya está, lo que resta es mecánico y muy simple.
Vamos a establecer el valor al atributo on-click de los elementos Message que representan los grupos.
En este caso, en la figura anterior, se muestra como establecer el valor para el grupo zona. El valor asignado es: ="expandCollapse(this, true)", esto es siempre igual, solo vale la pena aclarar que el segundo parámetro (valor true) implica que los valores de los grupos contienen como primer caracter un "+", esto será cambiado automáticamente por un "-" al expandir y vuelta al "+" al colapsar (and so on...).
Recuerden asignar el mismo valor al grupo año.
[Nota mental: estaría muy bueno poder enviar como parámetro el nombre de las clases CSS que deben ser asignadas al grupo cuando está colapsado y cuando está expandido. ¿Alguien se anima a aportar esta característica?]
El reporte ya posee la característica de expandir/colapsar en render HTML. Solo resta mejorar la apariencia en la interacción, hablo de que cuando el usuario pase el mouse por encima del grupo vea un cursor más acorde a lo que el grupo permite hacer. Lo haremos usando una clase CSS que ya está entre los snippets de los que hablamos al inicio. La clase se llama mouse y el código CSS es el siguiente:
.mouse {
cursor: pointer;
}
Bien, ahora solo debemos establecer la clase mouse a los elementos Message que representan los grupos del reporte. Veamos esto en una figura para el grupo año:
Repetir esto con el grupo zona y listo!
Para probarlo solo debemos seleccionar la vista previa en HTML:
Bien, hemos finalizado, espero que les sea de utilidad.
Pueden descargar la versión final desde aquí.
Saludos
Mariano
jueves, noviembre 29, 2012
Generar un solo archivo HTML con la API de Pentaho Reporting
Estimad@s,
este post es muy puntual, en los últimos días estuve lidiando con la API de Pentaho Reporting a raíz del desarrollo de node-prd y node-prd-web-example, la verdad que para cubrir las funciones básicas no tuve inconvenientes, pero me surgieron problemas al querer trabajar con salidas HTML.
Por defecto la salida que genera la llamada al método HtmlReportUtil.createDirectoryHTML(MasterReport report, String path) se compone de un archivo html por cada página que el reporte genere, eso no sería problema si estuviesen conectados entre sí, pero no lo están, por ende para mostrarlos es un problema, he visitado varios foros y he consultado un libro sobre el tema, pero nada. Por otro lado si lo generaba utilizando la opción del editor, lo generaba en un solo archivo y se veían perfecto las imágenes.
La solución vino de la mano del hecho que este software es open source, sencillamente descargué el código fuente y en la clase: org.pentaho.reporting.designer.core.actions.report.preview.PreviewHtmlAction
Está el código que utiliza el editor, al final quedó algo así:
Saludos
Mariano
este post es muy puntual, en los últimos días estuve lidiando con la API de Pentaho Reporting a raíz del desarrollo de node-prd y node-prd-web-example, la verdad que para cubrir las funciones básicas no tuve inconvenientes, pero me surgieron problemas al querer trabajar con salidas HTML.
Por defecto la salida que genera la llamada al método HtmlReportUtil.createDirectoryHTML(MasterReport report, String path) se compone de un archivo html por cada página que el reporte genere, eso no sería problema si estuviesen conectados entre sí, pero no lo están, por ende para mostrarlos es un problema, he visitado varios foros y he consultado un libro sobre el tema, pero nada. Por otro lado si lo generaba utilizando la opción del editor, lo generaba en un solo archivo y se veían perfecto las imágenes.
La solución vino de la mano del hecho que este software es open source, sencillamente descargué el código fuente y en la clase: org.pentaho.reporting.designer.core.actions.report.preview.PreviewHtmlAction
Está el código que utiliza el editor, al final quedó algo así:
ResourceManager manager = new ResourceManager();
manager.registerDefaults();
Resource res = manager.createDirectly(
new URL("file:/home/mariano/reporte.prpt"),
MasterReport.class);
MasterReport report = (MasterReport) res.getResource();
//Carpeta contenedora del archivo html, los estilos e imágenes
File tempDir = new File("/home/mariano/htmlTemp");
if(!tempDir.exist())
tempDir.mkdirs();
//Nombre del archivo html. (recomiendo generarlo de forma aleatoria)
String fileName = "index.html";
//Se establece la carpeta en la cual se genera la salida HTML
final FileRepository targetRepository = new FileRepository(tempDir);
final ContentLocation targetRoot = targetRepository.getRoot();
//Se prepara el procesador del reporte, usando la implementación de HTML
final HtmlPrinter printer = new AllItemsHtmlPrinter(report.getResourceManager());
printer.setContentWriter(targetRoot, new DefaultNameGenerator(targetRoot, fileName));
printer.setDataWriter(targetRoot,
new DefaultNameGenerator(targetRoot, "content"));
printer.setUrlRewriter(new FileSystemURLRewriter());
final StreamHtmlOutputProcessor outputProcessor =
new StreamHtmlOutputProcessor(report.getConfiguration());
outputProcessor.setPrinter(printer);
final StreamReportProcessor reportProcessor =
new StreamReportProcessor(report, outputProcessor);
//Se genera la salida HTML
reportProcessor.processReport();
reportProcessor.close();
Que bueno disponer del código fuente!Saludos
Mariano
miércoles, noviembre 28, 2012
node-prd-web-example
Estimad@s,
Ya está disponible la versión 0.0.1-beta7 de node-prd, tiene varias mejoras, entre ellas la posibilidad de configurar una conexión JDBC ad-hoc y pasar la consulta SQL. También he creado una sitio web node Express, se puede descargar desde: https://github.com/magm3333/node-prd-web-example
El sitio demo muestra la potencia de node-prd, es muy simple de instalar y probar, además disponen de todo el código fuente si desean indagar.
Gracias a Darío Bernabeu (amigazo!) por el reporte.
Adjunto algunas screenshots:
Aún quedan algunos detalles que pulir, pero ya está funcionando.
Espero ideas y reportes de bugs.
Saludos
Mariano
Ya está disponible la versión 0.0.1-beta7 de node-prd, tiene varias mejoras, entre ellas la posibilidad de configurar una conexión JDBC ad-hoc y pasar la consulta SQL. También he creado una sitio web node Express, se puede descargar desde: https://github.com/magm3333/node-prd-web-example
El sitio demo muestra la potencia de node-prd, es muy simple de instalar y probar, además disponen de todo el código fuente si desean indagar.
Gracias a Darío Bernabeu (amigazo!) por el reporte.
Adjunto algunas screenshots:
Aún quedan algunos detalles que pulir, pero ya está funcionando.
Espero ideas y reportes de bugs.
Saludos
Mariano
jueves, noviembre 22, 2012
Módulo node-prd
Hola Gente,
les comento que estoy desarrollando un módulo que he denominado "node-prd", es un módulo para node.js, que permite trabajar con informes confeccionados con Pentaho Report (PRD).
La versión actual es 0.0.1-beta8 y soporta parámetros y salidas pdf, xls, xlsx, rtf y html. En cuanto a fuentes de datos utiliza la definida en el informe (JDBC no JNDI) y una denominada NamedStatic que permite enviarle los datos en formato JSON desde la aplicación.
Pronto postearé más sobre node.js, ya que si bien hace poco tiempo que trabajo con esa tecnología, me parece increlíble y ya tengo mucho material e ideas sobre el tema.
Encontrarán todo lo necesario para probar este módulo aquí: https://github.com/magm3333/node-prd
Saludos
Mariano
les comento que estoy desarrollando un módulo que he denominado "node-prd", es un módulo para node.js, que permite trabajar con informes confeccionados con Pentaho Report (PRD).
La versión actual es 0.0.1-beta8 y soporta parámetros y salidas pdf, xls, xlsx, rtf y html. En cuanto a fuentes de datos utiliza la definida en el informe (JDBC no JNDI) y una denominada NamedStatic que permite enviarle los datos en formato JSON desde la aplicación.
Pronto postearé más sobre node.js, ya que si bien hace poco tiempo que trabajo con esa tecnología, me parece increlíble y ya tengo mucho material e ideas sobre el tema.
Encontrarán todo lo necesario para probar este módulo aquí: https://github.com/magm3333/node-prd
Saludos
Mariano
Suscribirse a:
Entradas (Atom)
Etiquetas
pentaho
(45)
java
(35)
eclipse
(23)
jdbc
(14)
curso
(13)
tomcat
(13)
primefaces
(12)
db2
(11)
mondrian
(10)
review
(10)
jsf
(9)
openI
(9)
pdi
(9)
prd
(9)
libro
(8)
plugin
(8)
musql
(7)
struts
(7)
javascript
(6)
spring
(6)
cdf
(5)
ctools
(5)
instalar
(5)
linux
(5)
mysql
(5)
data studio
(4)
hibernate
(4)
ireport
(4)
jasper
(4)
meteor
(4)
videocurso
(4)
eglu
(3)
eglubi
(3)
elearning
(3)
graphite
(3)
grupo eglu
(3)
jboos tools
(3)
mexico
(3)
openbits
(3)
packt
(3)
python
(3)
undec
(3)
websphere
(3)
applet
(2)
cde
(2)
dao
(2)
db2university
(2)
exelearning
(2)
flexigrid
(2)
hadoop
(2)
iua
(2)
kettle
(2)
moodle
(2)
node
(2)
olap
(2)
osbi
(2)
pivot4j
(2)
scorm
(2)
sql
(2)
stpivot
(2)
actionscript
(1)
amazon
(1)
autenticacion
(1)
avanzado
(1)
base de datos
(1)
big data
(1)
bigdata
(1)
bodoc
(1)
cambiar
(1)
ccc
(1)
cdc
(1)
chat
(1)
cloud
(1)
coffeescript
(1)
control de acceso
(1)
corti
(1)
csv
(1)
cuba
(1)
curso meteor undec
(1)
dashboard
(1)
datamart
(1)
dataptix.tv
(1)
datasource
(1)
datatable
(1)
db2 ExpressC
(1)
demonio
(1)
distancia
(1)
driver
(1)
driver jdbc
(1)
eglufiltertwolist
(1)
encapsulamiento
(1)
especialización
(1)
etl
(1)
excepciones
(1)
export
(1)
faces
(1)
federación
(1)
filas afectadas
(1)
filtertwolist
(1)
filtrado
(1)
flegrid
(1)
flex
(1)
google
(1)
google viz
(1)
hostname
(1)
html
(1)
i18n
(1)
ibm
(1)
identidad
(1)
indignación
(1)
instancias
(1)
inteligencia de negocios
(1)
jee
(1)
jpivot
(1)
l10n
(1)
la azada
(1)
la zaga de los confines
(1)
layout
(1)
liberado
(1)
libre
(1)
libro promoción
(1)
lob
(1)
marktplace
(1)
menu
(1)
meteor node javascript google oauth autenticacion
(1)
mobile
(1)
mongoDB
(1)
node.js
(1)
oauth
(1)
olap4j
(1)
open source
(1)
orm
(1)
persistencia
(1)
personalizada
(1)
prd5
(1)
psw
(1)
publicidad
(1)
rad6
(1)
recursividad
(1)
reporting
(1)
rock
(1)
saiku
(1)
script
(1)
servicio
(1)
sessiontimeout
(1)
sourceforge
(1)
spinneta
(1)
sqlserver
(1)
ssl
(1)
taller
(1)
troyanx
(1)
ubuntu
(1)
ucc
(1)
ui
(1)
web
(1)
web console
(1)
xampp
(1)
xml
(1)
xpath
(1)