Issue Description:When previewing a report in jasperStudio, the following error occurs: | [toc] |
Error incrementing bidimensional dataset. Error Trace net.sf.jasperreports.engine.JRRuntimeException: Error incrementing bidimensional dataset. at net.sf.jasperreports.engine.analytics.dataset.MultiAxisDataService.addRecord(MultiAxisDataService.java:373) at net.sf.jasperreports.engine.analytics.dataset.FillMultiAxisDataset.customIncrement(FillMultiAxisDataset.java:110) at net.sf.jasperreports.engine.fill.JRFillElementDataset.increment(JRFillElementDataset.java:201) at net.sf.jasperreports.engine.fill.JRCalculator.calculateVariables(JRCalculator.java:191) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:737) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(JRVerticalFiller.java:260) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:103) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:607) at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:123) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:961) at net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:169) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:912) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1840) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1159) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1088) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:983) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: net.sf.jasperreports.engine.JRException: Crosstab data has already been processed. at net.sf.jasperreports.crosstabs.fill.calculation.BucketingService.addData(BucketingService.java:328) at net.sf.jasperreports.engine.analytics.dataset.MultiAxisDataService.addRecord(MultiAxisDataService.java:369) ... 18 more
Resolution:
In the report design a chart that uses a separate subdataset was placed in one of the detail bands. Typically, charts should be placed in a band that only renders one e.g. the summary band for a few reasons:
multiple calls will be made for each row rendered to the database slowing down performance
output may look confusing to the end user
JR will not be able to properly iterate through the returned data, as was the case in this report that caused the error stack trace
Moving the chart in this report to the summary band allowed for the report to preview.
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now