Reputation: 750
I need to create a report with total of activities in months. I am using JRBeanCollectionDataSource
to fill data in report like
Also I need to add a Bar Chart like
In my jasper file, I have
<categoryDataset>
<dataset incrementType="Column"/>
<categorySeries>
<seriesExpression><![CDATA["Complete"]]></seriesExpression>
<categoryExpression><![CDATA["Complete"]]></categoryExpression>
<valueExpression><![CDATA[$F{complete}]]></valueExpression>
<labelExpression><![CDATA["Complete"]]></labelExpression>
</categorySeries>
<categorySeries>
<seriesExpression><![CDATA["To do"]]></seriesExpression>
<categoryExpression><![CDATA["To do"]]></categoryExpression>
<valueExpression><![CDATA[$F{todo}]]></valueExpression>
<labelExpression><![CDATA["To do"]]></labelExpression>
</categorySeries>
<categorySeries>
<seriesExpression><![CDATA["Errors"]]></seriesExpression>
<categoryExpression><![CDATA["Errors"]]></categoryExpression>
<valueExpression><![CDATA[$F{errors}]]></valueExpression>
<labelExpression><![CDATA["Errors"]]></labelExpression>
</categorySeries>
</categoryDataset>
But I get this error:
Where I only get the last value of my query
can I group by month data? like in the second picture?
Upvotes: 1
Views: 2445
Reputation: 11
The problem is in the categoryExpression
property. Right now you have the same value as in seriesExpression
. That's why a new category is created with only values for that series.
You should have something like the following:
<categorySeries>
<seriesExpression><![CDATA["Complete"]]></seriesExpression>
<categoryExpression><![CDATA["$F{MONTH}"]]></categoryExpression>
<valueExpression><![CDATA[$F{complete}]]></valueExpression>
</categorySeries>
<categorySeries>
<seriesExpression><![CDATA["To do"]]></seriesExpression>
<categoryExpression><![CDATA["$F{MONTH}"]]></categoryExpression>
<valueExpression><![CDATA[$F{todo}]]></valueExpression>
</categorySeries>
<categorySeries>
<seriesExpression><![CDATA["Errors"]]></seriesExpression>
<categoryExpression><![CDATA["$F{MONTH}"]]></categoryExpression>
<valueExpression><![CDATA[$F{errors}]]></valueExpression>
Or whatever the Month
field is named.
Upvotes: 1