我有一张带有饼图的Jasper报告正在group_footer中为我的团队“合同”绘制。合约组此时返回两行,我使用的是合约ID,它们是整数1和3.当我在group_footer中打印合约ID时,它会按预期打印1然后打印3。但是,当我尝试将相同的合同ID传递到同一个group_footer中的饼图的数据库中时,传递给参数的值对于两个图表都是3(我在数据库服务器上查看SQL使用语句记录) 。我无法弄清楚它是如何同时发送第二个值“3”的。正如我所提到的,合同ID在图表旁边的报表上打印为“1”组中的第一项。
这是我的subDataset,参数为“currentContractId”:
<subDataset name="age_stats" uuid="44847f01-474b-4228-96e9-ea5ab992f67b">
<property name="....data.defaultdataadapter" value="database"/>
<parameter name="currentContractId" class="...Integer" isForPrompting="false"/>
<queryString>
<![CDATA[SELECT * FROM table WHERE column = $P{currentContractId}]]>
</queryString>
<field name="age" class="java.lang.String"/>
<field name="count" class="java.lang.Long"/>
</subDataset>
这是图表数据库,我试图将字段“id”传递给上面的subDataset的“currentContractId”参数:
<pieDataset maxCount="6">
<dataset>
<datasetRun subDataset="age_stats" uuid="75d14f7c-f94e-4749-860f-ea95c2134e9c">
<datasetParameter name="currentContractId">
<datasetParameterExpression><![CDATA[$F{id}]]></datasetParameterExpression>
</datasetParameter>
</datasetRun>
</dataset>
</pieDataset>
我很乐意向认为有用的人提供完整的jrxml。
答案 0 :(得分:2)
我发现了问题。除了图表数据集向导中的选项外,图表属性下还有一个名为“评估时间”的单独选项。我将评估时间选项设置为我的组“合同”,问题已解决。