Hitachi Vantara Pentaho Community Forums
Results 1 to 3 of 3

Thread: Selecting elements for a dimension

  1. #1
    Join Date
    Apr 2003
    Posts
    5

    Default Selecting elements for a dimension

    This is a wonderful product. I was able to set up and get going in less than 2 days, with most of the time spent trying to create the schema. I have a couple of questions regarding selecting elements from a level in a dimension.
    My environment is:
    J2SDK 1.4.1_02
    Tomcat 4.1.18
    Apache 2.0.43 with mod_jk2
    Data stored in Oracle 8.1.7 and accessed using the JDBC thin driver
    1) I have a dimension that has too many elements (32000 and growing) and whenever I try to get a list of elements for selection I get the following error:
    org.apache.jasper.JasperException
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at com.tonbeller.wcf.controller.RequestFilter$MyHandler.normalRequest(RequestFilter.java:56)
    at com.tonbeller.wcf.controller.RequestSynchronizer.handleRequest(RequestSynchronizer.java:62)
    at com.tonbeller.wcf.controller.RequestFilter.doFilter(RequestFilter.java:71)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:632)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:590)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:707)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
    at java.lang.Thread.run(Thread.java:536)
    Is there a way to specify how many elements to display at a time?
    I have also tried to restrict the number of elements using the View tag and a SQL statement as shown below:
    <View alias="Employees">
    <SQL dialect="generic">
    <![CDATA[SELECT * FROM "EMPLOYEES" WHERE "EMPLOYEES"."NAME" like 'A%']]>
    </SQL>
    </View>
    I get the following error when I try to get a listing of elements to pick:
    org.apache.jasper.JasperException: Internal error: while building member cache; sql=[]
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at com.tonbeller.wcf.controller.RequestFilter$MyHandler.normalRequest(RequestFilter.java:56)
    at com.tonbeller.wcf.controller.RequestSynchronizer.handleRequest(RequestSynchronizer.java:62)
    at com.tonbeller.wcf.controller.RequestFilter.doFilter(RequestFilter.java:71)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:632)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:590)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:707)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
    at java.lang.Thread.run(Thread.java:536)
    I would appreciate any help on solving this problem (without creating a view in the database; which I would like to keep as a last resort)
    2) Is there a way to make the element selection for a level in a dimension multi select instead of single select?
    Thanks for the great work and any help.
    Nattu.

  2. #2
    Join Date
    Apr 2003
    Posts
    5

    Default RE: Selecting elements for a dimension

    I guess I found the answer to question 1. I increased the heap size for Tomcat and it no longer throws an error. After posting I realized both my questions pertain to JPivot rather that mondrian.
    Nattu.

  3. #3
    Join Date
    Nov 1999
    Posts
    1,618

    Default RE: Selecting elements for a dimension

    Probably was JPivot in this case, but Mondrian will also run out of memory if the query result is too large. I suggest that you use levels to partition your dimension into more manageable sets.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.