Open Business Intelligence

La red del Business Intelligence

Problemas con Analisis View de Penatho sobre un Schema hecho en Workbench

Estoy trabajando en mi memoria para titularme con un projecto de BI. El punto es que ya cree mis bases de datos y las poble con kettle, que es útil y facil de usar.

 

Ahora tengo dos Data Mart, que conforman mi DW.

 

Con el primero haré analisis OLAP y el segundo Data Mining (Weka ya testeado todo bien).

 

El problema surge con mi primer Data Mart, una vez creado el schema con el Schema Workbench conectados a mi base de datos MYSQL, lo publico en Pentaho BI Server.

 

y cuando voy a new analysis view y seleccion el schema con su respectivo me arroja:

 

Error Occurred While getting Resultset

An error occurred while rendering Pivot.jsp. Please see the log for details.

 

Entonces veo el pentaho.log y me encuentro con el siguiente error:

 

2011-02-12 01:46:26,497 ERROR [com.tonbeller.wcf.component.RendererTag] trouble rendering table0ca69258-3663-11e0-b347-d1ab28eb5b45
com.tonbeller.jpivot.olap.model.OlapException: mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while executing query [select NON EMPTY {[Measures].[Promedio]} ON COLUMNS,
  NON EMPTY {([Asignaturas.Todas las Asignaturas].[Todas las Asignaturas], [New Dimension 1.Todos los Campus].[Todos los Campus])} ON ROWS
from [Cubo Test]
]
    at com.tonbeller.jpivot.mondrian.MondrianModel.getResult(MondrianModel.java:305)
    at com.tonbeller.jpivot.olap.model.OlapModelDecorator.getResult(OlapModelDecorator.java:54)
    at com.tonbeller.jpivot.olap.model.CachingOlapModel.getResult(CachingOlapModel.java:48)
    at com.tonbeller.jpivot.olap.model.OlapModelDecorator.getResult(OlapModelDecorator.java:54)
    at com.tonbeller.jpivot.table.TableComponent.updateOlapModel(TableComponent.java:246)
    at com.tonbeller.jpivot.table.TableComponent.render2(TableComponent.java:251)
    at com.tonbeller.jpivot.table.TableComponent.render(TableComponent.java:235)
    at com.tonbeller.wcf.component.RendererTag.doEndTag(RendererTag.java:137)
    at org.apache.jsp.jsp.Pivot_jsp._jspService(Pivot_jsp.java:2750)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.pentaho.platform.web.http.filters.PentahoWebContextFilter.doFilter(PentahoWebContextFilter.java:77)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.pentaho.platform.web.http.filters.PentahoRequestContextFilter.doFilter(PentahoRequestContextFilter.java:84)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.pentaho.platform.web.http.security.SecurityStartupFilter.doFilter(SecurityStartupFilter.java:103)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.pentaho.platform.web.http.security.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:169)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.pentaho.platform.web.http.security.HttpSessionReuseDetectionFilter.doFilter(HttpSessionReuseDetectionFilter.java:134)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
    at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.pentaho.platform.web.http.filters.SystemStatusFilter.doFilter(SystemStatusFilter.java:60)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.pentaho.platform.web.http.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:113)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)
Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while executing query [select NON EMPTY {[Measures].[Promedio]} ON COLUMNS,
  NON EMPTY {([Asignaturas.Todas las Asignaturas].[Todas las Asignaturas], [New Dimension 1.Todos los Campus].[Todos los Campus])} ON ROWS
from [Cubo Test]
]
    at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:841)
    at mondrian.olap.Util.newInternal(Util.java:1539)
    at mondrian.olap.Util.newError(Util.java:1555)
    at mondrian.rolap.RolapConnection.execute(RolapConnection.java:622)
    at com.tonbeller.jpivot.mondrian.MondrianModel.getResult(MondrianModel.java:279)
    ... 74 more
Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while loading segment; sql=[select avg("hechos_alumno"."Nota") as "m0" from "hechos_alumno" as "hechos_alumno"]
    at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:841)
    at mondrian.olap.Util.newInternal(Util.java:1539)
    at mondrian.olap.Util.newError(Util.java:1555)
    at mondrian.rolap.SqlStatement.handle(SqlStatement.java:277)
    at mondrian.rolap.SqlStatement.execute(SqlStatement.java:193)
    at mondrian.rolap.RolapUtil.executeQuery(RolapUtil.java:230)
    at mondrian.rolap.RolapUtil.executeQuery(RolapUtil.java:189)
    at mondrian.rolap.agg.SegmentLoader.createExecuteSql(SegmentLoader.java:381)
    at mondrian.rolap.agg.SegmentLoader.load(SegmentLoader.java:110)
    at mondrian.rolap.agg.Aggregation.load(Aggregation.java:172)
    at mondrian.rolap.agg.AggregationManager.loadAggregation(AggregationManager.java:96)
    at mondrian.rolap.FastBatchingCellReader$Batch.loadAggregation(FastBatchingCellReader.java:495)
    at mondrian.rolap.FastBatchingCellReader$Batch.loadAggregation(FastBatchingCellReader.java:430)
    at mondrian.rolap.FastBatchingCellReader.loadAggregation(FastBatchingCellReader.java:206)
    at mondrian.rolap.FastBatchingCellReader.loadAggregations(FastBatchingCellReader.java:187)
    at mondrian.rolap.RolapResult.executeBody(RolapResult.java:803)
    at mondrian.rolap.RolapResult.<init>(RolapResult.java:417)
    at mondrian.rolap.RolapConnection.execute(RolapConnection.java:593)
    ... 75 more
Caused by: java.sql.SQLException: Table not found in statement [select avg("hechos_alumno"."Nota") as "m0" from "hechos_alumno"]
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
    at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
    at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
    at mondrian.rolap.SqlStatement.execute(SqlStatement.java:152)
    ... 88 more

 

En este error muestra una sentencia MDX, que la copio en el workbench y me funciona bien. Por lo tanto supongo que el cubo está bien, luego me habla de las tablas que no las encuentra. y ahi pienso que está el error con ese problema de sql, pero veo que ocupa el driver de hsqldb, entonces no se que puedo hacer para que me funcione la vista, he seguido los tutoriales de aca para crear el scheme y son excelentes pero he googleado todo el día y aun no puedo dar a una solucion para mi problema. Si alguien me pudiese ayudar estaría muy agradecido, ya que esto me ha hecho perder un día entero de trabajo. ya que no se si hay que cambiar el driver, o que puedo hacer, porque trate de probar las sentencias mysql y el error que me da son las comillas en la sentencia pero eso yo pienso ya que es parte del motor mondrian.

 

Saludos de Chile :)

Etiquetas: Analisis, BI-Server, Pentaho, Pivot.jps, View, error.

Visitas: 4343

Responde a esto

Respuestas a esta discusión

Nicolas la solucion que planteaste en un proncipio te funciona pero dejame comentarte que tus consultas van a ser lentas, obviamente dependiendo de la cantidad de datos que tu tengas en tu DW, ya que mondrian lo que te hace es hacer un query diferente para cada campo (Dimension, jerarquia, nivel, medida) que tu vayas a tener en tu modelo y a eso sumale los joins que tienes que hacer para cada consulta.. asi que esa no seria la solucion mas optima

Responder a debate

RSS

Distintivo

Cargando…

© 2024   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio