Open Business Intelligence

La red del Business Intelligence

Hola,

Estoy buscando la forma de añadir funcionalidad a jPivot para integrarlo con Pentaho. La idea es añadir una caja de texto en el árbol de miembros que haga que se filtren los resultados del árbol por el texto de la caja. 

Para hacer esto necesito saber dónde empezar a tocar. Tras horas indagándo en el código he encontrado el archivo xtree.xsl, que parece generar el árbol. Aún así no veo dónde añadir la caja de texto ni cómo añadirle la funcionalidad de filtrado.

Este tipo de caja ya está funcionando en las tablas que se pueden implementar en pentaho, por tanto, entiendo que no debería ser muy complicado añadir la funcionalidad.

Estaré agradecido por cualquier información que podáis darme.

Gracias por adelantado.

Jorge.

Etiquetas: jpivot, mondrian, pentaho

Visitas: 418

Responde a esto

Respuestas a esta discusión

Ya tengo localizado cómo añadir el cuadro de texto, símplemente había que modificar el archivo xtree.xsl en wcf/src/webapp/WEB-INF/ añadiendo el input bajo el th de título:

<xsl:if test="@title">
<th align="left" class="xform-title">
<xsl:value-of select="@title"/>
</th>

<!-- Cuadro de texto para filtrar -->
<td align="left" class="xform-title">
<input name="Filtro" type="text" width="50" height="16"/>
</td>

</xsl:if>

Ahora falta asociar la funcionalidad, algo que aún no sé por dónde atacar.

no has probado con alguna herramienta de analisis diferente a jpivot? (Saiku, STPivot, pivot4j)... quizas alguna de ellas tiene la funcionalidad que necesitas...

Sí, he probado con pivot4j, pero el pentaho que utilizo es una versión algo más antigua y la integración es tediosa. La verdad es que ya tengo el jPivot en marcha, con bastantes tablas y gráficos ya creados, pero el buscar entre los miembros a veces no es fácil, y me gustaría dar esa funcionalidad.

Solucionado, con un poquito de la magia de JavaScript. 

En esta página hay un ejemplo de lo que quería hacer y un código muy útil http://blog.echarp.org/filterTable.

Dándole nombre al elemento que queremos filtrar y poniendo el evento al input text conseguimos que funcione.

 <input name="Filtro" class="filter" onkeyup="filterTable(this, document.getElementsByName('tablaFlitro')[0] )" type="text" width="50" height="16"/>

Para añadir el JavaScript hay que asociarlo al jsp correspondiente.

Espero que alguien en mi situación se ahorre trabajo de análisis.

se agradece el aporte para cualquier otro que le suceda, saludos...

Responder a debate

RSS

Distintivo

Cargando…

© 2022   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio