Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
BIRT 2.1.2 Chart error
sgavriel
Hi
I am using BIRT 2.1.2 and I am trying to create a report for Maximo v7.
While trying to setup the chart and I am inserting values from my data set in the X Series, Y Series and Y Series Grouping of the chart I get the following error (The chart id # varies depending on the combination of the expressions in the X and Y Series):
In the Y Series I may put something like: row["STATUS"]=="NEW" || row["STATUS"]=="INPROG"
and in the X Series I may put: row["SITEID"]
Chart (id = 289):
- The dataset used by the Chart is invalid
exception.unknown.datatype ( 1 time(s) )
detail : org.eclipse.birt.chart.exception.ChartException: The dataset used by the Chart is invalid at org.eclipse.birt.chart.datafeed.DataSetProcessorImpl.populate(DataSetProcessorImpl.java:319) at org.eclipse.birt.chart.internal.datafeed.DataProcessor.populateSeriesDataSet(DataProcessor.java:1422) at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:1050) at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:721) at org.eclipse.birt.chart.factory.Generator.bindData(Generator.java:559) at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationImpl.onRowSets(ChartReportItemPresentationImpl.java:399) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:653) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.visitForeign(LocalizedContentVisitor.java:359) at org.eclipse.birt.report.engine.content.impl.ForeignContent.accept(ForeignContent.java:58) at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:111) at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:38) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:63) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:94) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutChildren(HTMLInlineStackingLM.java:138) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159) at org.eclipse.birt.report.engine.layout.html.HTMLRowLM.layout(HTMLRowLM.java:30) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:68) at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:74) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:139) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:81) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:85) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:205) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:142) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(Unknown Source) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(Unknown Source) at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(Unknown Source) at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(Unknown Source) at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(Unknown Source) at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(Unknown Source) at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(Unknown Source) at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 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:801)
Sometime I also get this error message:
"Unable to use a text data to render a numerical/datetime axis."
Can you please advise what needs to be done in order to successfully create a chart within the report?
Thanks,
sgavriel
Find more posts tagged with
Comments
Dragunov
Hi,
Regarding the first error i need more input. I am not clear what you were trying to do.
Regarding the second error "Unable to use a text data to render a numerical/datetime axis", This occurs when you define that the type of value that you pass to an axis is a text but you actually pass a date or a number.
This can be changed at double click the chart and go to the chart properties -> Format chart -> select Chart Area - >Axis
chek the type of value that you assigned for x axis and y axis.
You would have declared the type of an axis as "Text" but you pass a date or a number or decimal to that axis. So change it to DateTime type if the value that you pass is a date. If you pass a number or decimal you can choose the type as Linear or Logarithmic.
Thnx
sgavriel
So if I want to have in the
Value (Y) Series the row["STATUS"]
and in the
Category (X) Series the row["SITEID"]
and in the Optional Y Series Grouping the row["LOCATION"]
what should the each respective Axis type be?
I have tried the combinations and I still get the same error:
"The value axis may only have a numerical or datetime format"
Thanks
Virgil Dodson
Hi sgavriel,
The Y-axis needs a number to do something with like Count, Sum, etc. For your example, after dragging SITEID to the X-Axis, press the grouping/sorting button, enable grouping, and then select COUNT for the aggregrate expression. Once you have done this you can put non-numeric values for the Y-axis since it is just counting them.
I created an example (with BIRT 2.3.2) that groups values by Country, City, and then Status.
UPDATE: I realized after I submitted this that you were using 2.1.2 so you wont be able to open this example. In my example, I selected CITY for the X-axis, turned on grouping, selecting Text, 1, and COUNT. Then I selected COUNTRY for the Optional Grouping. In then created 6 different series and on each series, I added an expression like:
SERIES1: if (row["STATUS"] == "Shipped") 1
SERIES2: if (row["STATUS"] == "Cancelled") 1,
etc.
... then rename the Series1, Series2, etc on the format tab, Series -> Titles
Dragunov
Can you just attach the rptdesign file if possible?.
sgavriel
Thanks a lot vdodson.
Your suggestions worked out great!!!
I selected SITEID for the X-Axis, turned on grouping, selecting Text, 1, and COUNT. Then I selected LOCATION for the Optional Grouping. Then I selected for the Value (Y) Series the following: row["STATUS"] == "NEW" || row["STATUS"] == "QUEUED" || row["STATUS"] == "PENDING" || row["STATUS"] == "INPROG"