Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 239925 - Exception when set dimension filter on crosstab aggregation
Summary: Exception when set dimension filter on crosstab aggregation
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P5 enhancement with 2 votes (vote)
Target Milestone: 2.5.0 M7   Edit
Assignee: xiaofeng zhang CLA
QA Contact: Sissi Zhu CLA
URL:
Whiteboard: Autoed
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-08 03:58 EDT by Sissi Zhu CLA
Modified: 2009-05-14 05:15 EDT (History)
4 users (show)

See Also:


Attachments
report design file (21.75 KB, text/xml)
2008-08-14 23:10 EDT, Sissi Zhu CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sissi Zhu CLA 2008-07-08 03:58:58 EDT
Description:Set dimension filter as "dimension["name"]" on crosstab aggregation, exception throws out.

build version:2.3.1.v20080708-0630

Steps to reproduce:
1.There is a crosstab with grand total.
2.Set dimension filter on the aggregation of grand total.
3.Exception when preview.
Comment 1 Sissi Zhu CLA 2008-07-08 04:00:13 EDT
Exception  
Close  
 org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report.; nested exception is: org.mozilla.javascript.EcmaError: ReferenceError: "dimension" is not defined. 
Show Exception Stack Trace 
Hide Exception Stack Trace  
Stack Trace:
 
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3350)
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3340)
org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3413)
org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1678)
org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1617)
org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3314)
org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2394)
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
org.mozilla.javascript.SecurityController$1.exec(SecurityController.java:183)
org.eclipse.birt.report.engine.executor.ScriptUtil$1.execWithDomain(ScriptUtil.java:50)
org.mozilla.javascript.SecurityController.callWithDomain(SecurityController.java:179)
org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2383)
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)
org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:173)
org.eclipse.birt.data.engine.olap.script.OLAPExpressionHandler.evaluate(OLAPExpressionHandler.java:43)
org.eclipse.birt.data.engine.script.ScriptEvalUtil.evalExpr(ScriptEvalUtil.java:667)
org.eclipse.birt.data.engine.olap.util.filter.JSMeasureFilterEvalHelper.evaluateFilter(JSMeasureFilterEvalHelper.java:80)
org.eclipse.birt.data.engine.olap.data.impl.aggregation.AggregationCalculator.getFilterResult(AggregationCalculator.java:208)
org.eclipse.birt.data.engine.olap.data.impl.aggregation.AggregationCalculator.newAggregationResultRow(AggregationCalculator.java:258)
org.eclipse.birt.data.engine.olap.data.impl.aggregation.AggregationCalculator.onRow(AggregationCalculator.java:153)
org.eclipse.birt.data.engine.olap.data.impl.aggregation.AggregationExecutor.execute(AggregationExecutor.java:125)
org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.onePassExecute(CubeQueryExecutorHelper.java:500)
org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.execute(CubeQueryExecutorHelper.java:332)
org.eclipse.birt.data.engine.olap.query.view.QueryExecutor.populateRs(QueryExecutor.java:160)
org.eclipse.birt.data.engine.olap.query.view.QueryExecutor.execute(QueryExecutor.java:111)
org.eclipse.birt.data.engine.olap.query.view.BirtCubeView.getCubeCursor(BirtCubeView.java:154)
org.eclipse.birt.data.engine.olap.impl.query.CubeQueryResults.getCubeCursor(CubeQueryResults.java:84)
org.eclipse.birt.report.engine.data.dte.CubeResultSet.(CubeResultSet.java:87)
org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteCube(DteDataEngine.java:173)
org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:253)
org.eclipse.birt.report.engine.executor.ExecutorManager$ExecutorContext.executeQuery(ExecutorManager.java:422)
org.eclipse.birt.report.item.crosstab.core.re.executor.BaseCrosstabExecutor.executeQuery(BaseCrosstabExecutor.java:103)
org.eclipse.birt.report.item.crosstab.core.re.executor.CrosstabReportItemExecutor.execute(CrosstabReportItemExecutor.java:102)
org.eclipse.birt.report.engine.executor.ExtendedItemExecutor.execute(ExtendedItemExecutor.java:61)
org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:42)
org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:45)
org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:33)
org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:63)
org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:101)
org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:151)
org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:72)
org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:929)
org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:876)
org.eclipse.birt.report.service.actionhandler.BirtGetPageAllActionHandler.__execute(BirtGetPageAllActionHandler.java:123)
org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:89)
org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:159)
org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPageAll(BirtDocumentProcessor.java:183)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:111)
org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:225)
javax.servlet.http.HttpServlet.service(HttpServlet.java:616)
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:112)
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:269)
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677)
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
org.mortbay.http.HttpServer.service(HttpServer.java:909)
org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
 
Comment 2 Sissi Zhu CLA 2008-07-08 04:03:12 EDT
Use data["column name"] as filter expression is not working too.
Comment 3 Lin Zhu CLA 2008-07-10 03:34:17 EDT
This is a valid enhancement. We should seek to support using expressions other than measure in aggregation filters.
Comment 4 Sissi Zhu CLA 2008-08-14 23:10:58 EDT
Created attachment 110060 [details]
report design file

Set filter in the "Property Editor"->Binding sheet of crosstab.
Comment 5 xiaofeng zhang CLA 2009-04-21 22:18:40 EDT
Support using JS expressions than measure in aggregation filters. Fix this bug.
Comment 6 Sissi Zhu CLA 2009-04-23 01:38:07 EDT
Verified in build: 2.5.0.v20090423-0630