Jasper子数据集参数意外增加

时间:2013-07-18 18:03:53

标签: jasper-reports

我有一张带有饼图的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。

1 个答案:

答案 0 :(得分:2)

我发现了问题。除了图表数据集向导中的选项外,图表属性下还有一个名为“评估时间”的单独选项。我将评估时间选项设置为我的组“合同”,问题已解决。