ChartException: A data definition expression must be associated with the value (Y) series-1
Hi,<br />
<br />
I'm working a lot of days with the BIRT API now, but it seems, I do not have any noticeable progress.<br />
I had a look on the examples which was only a bit helpful.<br />
<br />
What is the problem???<br />
I created a report with the designer which defines a simple bar chart. A datasource and dataset is also available in the design. And now, i want to add addtional series to the chart using the BIRT API.<br />
As you can see below, i get an exception (org.eclipse.birt.chart.exception.ChartException: A data definition expression must be associated with the value (Y) series-1 defined by org.eclipse.birt.chart.model.component.impl.SeriesImpl@6c80d028 (visible: false, seriesIdentifier: 3, labelPosition: Outside, stacked: false, translucent: false))... Who can help me??? <br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
...
ExtendedItemHandle eih = (ExtendedItemHandle) designHandle.findElement(diagram);
ChartWithAxes chart = (ChartWithAxes) eih.getReportItem().getProperty("chart.instance");
Series se2 = SeriesImpl.create();
SeriesDefinition sd2 = SeriesDefinitionImpl.create();
se2.setSeriesIdentifier(3);
se2.setTranslucent(false);
se2.setVisible(false);
se2.setStacked(false);
DataPoint dp = DataPointImpl.create("12", "48", ",");
se2.setDataPoint(dp);
Query query = QueryImpl.create("if(BirtComp.equalTo(row[\"YEARS\"], 2006) & BirtComp.equalTo(row[\"ISENDURANCE\"], 0)){row[\"TOTALPROJHOURS\"]}");
sd2.setQuery(query);
Palette palx = PaletteImpl.create(10, false);
sd2.setSeriesPalette(palx);
Axis xAxisPrimary = chart.getPrimaryBaseAxes()[0];
xAxisPrimary.setType(AxisType.TEXT_LITERAL);
Axis yAxisPrimary = chart.getPrimaryOrthogonalAxis(xAxisPrimary);
yAxisPrimary.setType(AxisType.LINEAR_LITERAL);
sd2.getGrouping().setEnabled(false);
yAxisPrimary.getSeriesDefinitions().add(sd2);
sd2.getSeries().add(se2);
SampleData sampleData = DataFactory.eINSTANCE.createSampleData( );
BaseSampleData sdBase = DataFactory.eINSTANCE.createBaseSampleData( );
sdBase.setDataSetRepresentation("'A','B','C','D','E'");//$NON-NLS-1$
sampleData.getBaseSampleData().add(sdBase);
OrthogonalSampleData sdOrthogonal2 = DataFactory.eINSTANCE.createOrthogonalSampleData();
sdOrthogonal2.setDataSetRepresentation("42,91,62,9,21");//$NON-NLS-1$
sdOrthogonal2.setSeriesDefinitionIndex(2);
sampleData.getOrthogonalSampleData().add(sdOrthogonal2);
chart.setSampleData(sampleData);
designHandle.save();
designHandle.close();
</pre>
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
12.09.2011 14:23:25 org.eclipse.birt.report.engine.api.impl.ReportEngine <init>
FEIN: ReportEngine created. EngineConfig: EngineConfig: org.eclipse.birt.report.engine.api.EngineConfig.scriptObjects={};BIRT_HOME=C:\devtools\birt-runtime-2_6_2\ReportEngine;logLevel=ALL;PLATFORM_CONTEXT=org.eclipse.birt.core.framework.PlatformFileContext@3a15da7d;org.eclipse.birt.report.engine.api.EngineConfig.emitterConfigs={html=org.eclipse.birt.report.engine.api.HTMLEmitterConfig@70bb6255};logDest=log\BOSCH_20110912_142316_80367;
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager getExtensions
FEIN: Start load extension point: org.eclipse.birt.report.engine.reportitemGeneration
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadGenerationExtensionDefns
FEIN: Load generation extension: Chart
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager getExtensions
FEIN: Start load extension point: org.eclipse.birt.report.engine.reportitemPresentation
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadPresentationExtensionDefns
FEIN: Load prsentation extension: Chart
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager getExtensions
FEIN: Start load extension point: org.eclipse.birt.report.engine.reportitemQuery
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadQueryExtensionDefns
FEIN: Load query extension: Chart
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager getExtensions
FEIN: Start load extension point: org.eclipse.birt.report.engine.emitters
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadEmitterExtensionDefns
FEIN: Load html emitter org.eclipse.birt.report.engine.emitter.html
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadEmitterExtensionDefns
FEIN: Load pdf emitter org.eclipse.birt.report.engine.emitter.pdf
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadEmitterExtensionDefns
FEIN: Load postscript emitter org.eclipse.birt.report.engine.emitter.postscript
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadEmitterExtensionDefns
FEIN: Load ppt emitter org.eclipse.birt.report.engine.emitter.ppt
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadEmitterExtensionDefns
FEIN: Load xls emitter org.eclipse.birt.report.engine.emitter.prototype.excel
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadEmitterExtensionDefns
FEIN: Load doc emitter org.eclipse.birt.report.engine.emitter.word
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager getExtensions
FEIN: Start load extension point: org.eclipse.birt.report.engine.reportEventHandler
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager getExtensions
FEIN: Start load extension point: org.eclipse.birt.report.engine.reportItemPreparation
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager getExtensions
FEIN: Start load extension point: org.eclipse.birt.report.engine.dataExtraction
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadDataExtractionExtensions
FEIN: Load data extraction extension: org.eclipse.birt.report.engine.dataextraction.csv
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager getExtensions
FEIN: Start load extension point: org.eclipse.birt.report.engine.extendedItemFactory
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadExtendedItems
FEIN: Load extendedItem extension: Crosstab
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadExtendedItems
FEIN: Load extendedItem extension: CrosstabCell
12.09.2011 14:23:25 org.eclipse.birt.report.engine.extension.internal.ExtensionManager loadExtendedItems
FEIN: Load extendedItem extension: AggregationCell
12.09.2011 14:23:28 org.eclipse.birt.report.data.oda.jdbc.JndiDataSource getDriverJndiPropertyFile
KONFIG: getDriverJndiPropertyFile() C:\devtools\birt-runtime-2_6_2\ReportEngine\plugins\org.eclipse.birt.report.data.oda.jdbc_2.6.2.r262_v20110127\drivers\jndi.properties canReadFile = false
12.09.2011 14:23:28 org.eclipse.birt.report.data.oda.jdbc.JndiDataSource getConnection
INFO: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
12.09.2011 14:23:28 org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadDriverExtensions
INFO: Found JDBC driverinfo extension: driverClass=org.apache.derby.jdbc.EmbeddedDriver, connectionFactory=null
12.09.2011 14:23:28 org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadDriverExtensions
INFO: Found JDBC driverinfo extension: driverClass=org.eclipse.birt.report.data.oda.sampledb.Driver, connectionFactory=org.eclipse.birt.report.data.oda.sampledb.SampleDBJDBCConnectionFactory
12.09.2011 14:23:28 org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager$DriverClassLoader addNewURL
INFO: JDBCDriverManager: found JAR file drivers/ojdbc14.jar. URL=bundleentry://41.fwk3743136/drivers/ojdbc14.jar
12.09.2011 14:23:30 org.eclipse.birt.report.data.oda.jdbc.JndiDataSource getDriverJndiPropertyFile
KONFIG: getDriverJndiPropertyFile() C:\devtools\birt-runtime-2_6_2\ReportEngine\plugins\org.eclipse.birt.report.data.oda.jdbc_2.6.2.r262_v20110127\drivers\jndi.properties canReadFile = false
12.09.2011 14:23:30 org.eclipse.birt.report.data.oda.jdbc.JndiDataSource getConnection
INFO: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
12.09.2011 14:23:30 org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase isNoDataException
SCHWERWIEGEND: ChartReportItemPresentationImpl: onRowSets(...) - failed
12.09.2011 14:23:30 org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase isNoDataException
WARNUNG: Exception
org.eclipse.birt.chart.exception.ChartException: A data definition expression must be associated with the value (Y) series-1 defined by org.eclipse.birt.chart.model.component.impl.SeriesImpl@6c80d028 (visible: false, seriesIdentifier: 3, labelPosition: Outside, stacked: false, translucent: false).
at org.eclipse.birt.chart.internal.datafeed.GroupingLookupHelper.addLookupForOrthogonalSeries(GroupingLookupHelper.java:369)
at org.eclipse.birt.chart.internal.datafeed.GroupingLookupHelper.initRowExpressions(GroupingLookupHelper.java:511)
at org.eclipse.birt.chart.internal.datafeed.GroupingLookupHelper.<init>(GroupingLookupHelper.java:152)
at org.eclipse.birt.chart.internal.datafeed.DataProcessor.mapToChartResultSet(DataProcessor.java:349)
at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:507)
at org.eclipse.birt.chart.factory.Generator.bindData(Generator.java:652)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.bindData(ChartReportItemPresentationBase.java:724)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:853)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:108)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1023)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeForeign(LocalizedContentVisitor.java:579)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:163)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
at com.bosch.ds.runtimes.chart.ChartEngineWrapper.generateHTML(ChartEngineWrapper.java:393)
at com.bosch.ds.runtimes.chart.ChartEngineWrapper.generate(ChartEngineWrapper.java:242)
at com.bosch.ds.runtimes.assembler.Assembler.assemble(Assembler.java:139)
at com.bosch.ds.runtimes.ReportApp.start(ReportApp.java:118)
at com.bosch.ds.runtimes.Main.runApp(Main.java:66)
at com.bosch.ds.runtimes.Main.main(Main.java:39)
12.09.2011 14:23:30 org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor processExtendedContent
SCHWERWIEGEND: A data definition expression must be associated with the value (Y) series-1 defined by org.eclipse.birt.chart.model.component.impl.SeriesImpl@6c80d028 (visible: false, seriesIdentifier: 3, labelPosition: Outside, stacked: false, translucent: false).
org.eclipse.birt.chart.exception.ChartException: A data definition expression must be associated with the value (Y) series-1 defined by org.eclipse.birt.chart.model.component.impl.SeriesImpl@6c80d028 (visible: false, seriesIdentifier: 3, labelPosition: Outside, stacked: false, translucent: false).
at org.eclipse.birt.chart.internal.datafeed.GroupingLookupHelper.addLookupForOrthogonalSeries(GroupingLookupHelper.java:369)
at org.eclipse.birt.chart.internal.datafeed.GroupingLookupHelper.initRowExpressions(GroupingLookupHelper.java:511)
at org.eclipse.birt.chart.internal.datafeed.GroupingLookupHelper.<init>(GroupingLookupHelper.java:152)
at org.eclipse.birt.chart.internal.datafeed.DataProcessor.mapToChartResultSet(DataProcessor.java:349)
at org.eclipse.birt.chart.internal.datafeed.DataProcessor.generateRuntimeSeries(DataProcessor.java:507)
at org.eclipse.birt.chart.factory.Generator.bindData(Generator.java:652)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.bindData(ChartReportItemPresentationBase.java:724)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:853)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:108)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1023)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeForeign(LocalizedContentVisitor.java:579)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:163)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
at com.bosch.ds.runtimes.chart.ChartEngineWrapper.generateHTML(ChartEngineWrapper.java:393)
at com.bosch.ds.runtimes.chart.ChartEngineWrapper.generate(ChartEngineWrapper.java:242)
at com.bosch.ds.runtimes.assembler.Assembler.assemble(Assembler.java:139)
at com.bosch.ds.runtimes.ReportApp.start(ReportApp.java:118)
at com.bosch.ds.runtimes.Main.runApp(Main.java:66)
at com.bosch.ds.runtimes.Main.main(Main.java:39)</pre>