Bug 188532 - BIRT Cross tab - Nesting cross tab in a list report item fails
Summary: BIRT Cross tab - Nesting cross tab in a list report item fails
Status: RESOLVED INVALID
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 2.2.0   Edit
Hardware: PC All
: P1 normal (vote)
Target Milestone: 2.3.0 M4   Edit
Assignee: Birt-ReportDesigner CLA
QA Contact:
URL:
Whiteboard:
Keywords: plan
: 192357 192394 (view as bug list)
Depends on:
Blocks: 192853
  Show dependency tree
 
Reported: 2007-05-22 21:23 EDT by Rima Kanguri CLA
Modified: 2007-12-26 06:14 EST (History)
6 users (show)

See Also:


Attachments
Sample report design (63.46 KB, application/octet-stream)
2007-05-22 21:29 EDT, Rima Kanguri CLA
no flags Details
The workaround. (141.89 KB, application/octet-stream)
2007-05-23 01:14 EDT, Lin Zhu CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rima Kanguri CLA 2007-05-22 21:23:42 EDT
Steps to reproduce the issue
- Create a cube with 3 dimensions procutLine, OrderDate, Country
- Add a list report item which shows customers groupo by "Country"
- Define a cross tab with ProductLine along one axis and OrderDa
te along another axis
- Add a new binding tab with expresion Country = dimension[Location][Country]
- Now add a filter to the cross tab 
  data[Country] equal to data._outer["COUNTRY"]
Comment 1 Rima Kanguri CLA 2007-05-22 21:29:51 EDT
Created attachment 68258 [details]
Sample report design
Comment 2 Rima Kanguri CLA 2007-05-22 21:31:32 EDT
 
ReportDesign (id = 1): 
- Referenced dimension definition:Group1 does not exist. 
Referenced dimension definition:Group1 does not exist. ( 200 time(s) )
detail : org.eclipse.birt.data.engine.core.DataException: Referenced dimension definition:Group1 does not exist. at org.eclipse.birt.data.engine.olap.impl.query.CubeQueryResults.getCubeCursor(CubeQueryResults.java:82) at org.eclipse.birt.report.engine.data.dte.CubeResultSet.<init>(CubeResultSet.java:101) at org.eclipse.birt.report.engine.data.dte.DataPresentationEngine.doExecuteCube(DataPresentationEngine.java:242) at org.eclipse.birt.report.engine.data.dte.DataPresentationEngine.doExecuteQuery(DataPresentationEngine.java:161) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:178) at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1669) at org.eclipse.birt.report.engine.internal.document.v4.ExtendedItemExecutor.executeQuery(ExtendedItemExecutor.java:235) at org.eclipse.birt.report.engine.internal.document.v4.ExtendedItemExecutor.doExecute(ExtendedItemExecutor.java:215) at org.eclipse.birt.report.engine.internal.document.v4.ExtendedItemExecutor.execute(ExtendedItemExecutor.java:171) at org.eclipse.birt.report.engine.internal.document.v4.ContainerExecutor.prepareChildExecutor(ContainerExecutor.java:213) at org.eclipse.birt.report.engine.internal.document.v4.ContainerExecutor.hasNextChild(ContainerExecutor.java:98) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.hasNextChild(WrappedReportItemExecutor.java:85) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.hasNextChild(WrappedReportItemExecutor.java:85) at org.eclipse.birt.report.engine.executor.ReportExecutorUtil.executeAll(ReportExecutorUtil.java:81) at org.eclipse.birt.report.engine.executor.ReportExecutorUtil.executeAll(ReportExecutorUtil.java:91) at org.eclipse.birt.report.engine.executor.ReportExecutorUtil.executeAll(ReportExecutorUtil.java:91) at org.eclipse.birt.report.engine.executor.ReportExecutorUtil.execute(ReportExecutorUtil.java:51) at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:576) at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:319) at org.eclipse.birt.report.service.ReportEngineService.renderReport(Unknown Source) at org.eclipse.birt.report.service.ReportEngineService.renderReport(Unknown Source) at org.eclipse.birt.report.service.BirtViewerReportService.getPage(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.doExecution(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(Unknown Source) at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(Unknown Source) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(Unknown Source) at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(Unknown Source) at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 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 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) 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.valves.CertificatesValve.invoke(CertificatesValve.java:246) 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.StandardContext.invoke(StandardContext.java:2422) 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:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.eclipse.tomcat.internal.EclipseErrorReportValve.invoke(EclipseErrorReportValve.java:153) 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:199) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:595)
					
 
 
Comment 3 Lin Zhu CLA 2007-05-23 01:13:14 EDT
This feature is not going to be supported in 2.2. Meanwhile user can workaround the problem by using java script. 

We can define crosstab dimension filtering such like: dimension[“Geography”][“COUNTRY”] = country, where “country” is a java script variable defined in “initialize” method of report. And the value of country would be populate in onRender/onCreate method of a row.

I’ve attached the report design which demonstrates this usage.

Comment 4 Lin Zhu CLA 2007-05-23 01:14:40 EDT
Created attachment 68279 [details]
The workaround.
Comment 5 Lin Zhu CLA 2007-05-23 01:15:36 EDT
The bug is deferred to post 2.2.0
Comment 6 Lin Zhu CLA 2007-06-13 04:21:02 EDT
*** Bug 192357 has been marked as a duplicate of this bug. ***
Comment 7 Lin Zhu CLA 2007-06-13 07:38:23 EDT
*** Bug 192394 has been marked as a duplicate of this bug. ***
Comment 8 Lin Zhu CLA 2007-12-06 02:29:58 EST
Data Engine side fix has been done. Reassign to engine team for their side fix.
Comment 9 Gang Liu CLA 2007-12-26 00:30:07 EST
it seems birt can not support the filter in this case. 
Comment 10 Lin Zhu CLA 2007-12-26 02:45:39 EST
Data Engine side fix is done. Reassign to UI.
Comment 11 Zhiqiang Qian CLA 2007-12-26 06:14:07 EST
If the binding references "dimension[Location][Country]", Crosstab must contain the "Country" level in structure, otherwise the binding is invalid.