"The data type specified for the axis does not match the one from the data field value"<br />
<br />
I am trying to change the series used in a barchart in the beforeGeneration event. The code is given below. The error appears to occur on the last line. The timeArray is an array of decimal and the countArray is an array of integers. I know that the yAxis type is "Linear" to start, but can't figure out much more than that.<br />
<br />
function beforeGeneration( chart, icsc )<br />
{<br />
<br />
importPackage(Packages.java.util);<br />
importPackage(Packages.org.eclipse.birt.chart.util);<br />
importPackage(Packages.org.eclipse.birt.chart.model.data.impl);<br />
importPackage(Packages.org.eclipse.birt.chart.model.type.impl);<br />
importPackage(Packages.org.eclipse.birt.chart.model.component.impl); <br />
<br />
var xAxis = chart.getAxes().get(0);<br />
var yAxis = xAxis.getAssociatedAxes().get(0);<br />
var yType = yAxis.getType();<br />
<br />
var xSerieDef = xAxis.getSeriesDefinitions().get(0); <br />
var ySerieDef = yAxis.getSeriesDefinitions().get(0);<br />
<br />
//Create ArrayLists for custom data from passed arrays<br />
var xData = new ArrayList();<br />
var yData = new ArrayList();<br />
<br />
aDataX = icsc.getExternalContext().getScriptable().getPersistentGlobalVariable("timeArray");<br />
aDataY = icsc.getExternalContext().getScriptable().getPersistentGlobalVariable("countArray");<br />
<br />
for(i = 0; i < aDataX.length; i++)<br />
{<br />
xData.add(aDataX
);<br />
yData.add(aDataY);<br />
}<br />
<br />
//create data sets for series<br />
var categoryValues = NumberDataSetImpl.create(xData);<br />
var countValues = NumberDataSetImpl.create(yData);<br />
<br />
//create custom series<br />
<br />
//get existing category series<br />
var seCategory = SeriesImpl.create();<br />
//set new category values<br />
seCategory.setDataSet(categoryValues);<br />
<br />
//get existing value series<br />
var countSeries = BarSeriesImpl.create();<br />
//set value series<br />
countSeries.setDataSet(countValues);<br />
<br />
//clear existing series<br />
xSerieDef.getSeries().clear();<br />
ySerieDef.getSeries().clear();<br />
<br />
//bind new series<br />
xSerieDef.getSeries().add(seCategory);<br />
ySerieDef.getSeries().add(countSeries);<br />
<br />
<br />
}<br />
<br />
The idea for this code came from:<br />
<a class='bbc_url' href='http://www.birt-exchange.org/devshare/designing-birt-reports/928-report-with-table-and-chart-from-multiple-data-sources-based-on-sub-queries/#description'>Report with table and chart from multiple data sources based on sub-queries - Tutorials - BIRT Exchange</a>