グループ「契約」の group_footer に描画されている円グラフを含む Jasper レポートがあります。この時点でコントラクト グループは 2 行を返し、整数 1 と 3 のコントラクト ID を使用しています。グループ フッターにコントラクト ID を出力すると、期待どおりに 1 と 3 が出力されます。ただし、まったく同じ group_footer で円グラフのデータセットランに同じコントラクト ID を渡そうとすると、パラメーターに渡される値は両方のグラフで 3 です (db サーバーでステートメントログを使用して SQL を表示しています)。 . 2番目の値「3」を両方とも送信する方法がわかりません。前述したように、コントラクト ID はレポートのグラフのすぐ隣に、グループの最初の項目として「1」として出力されます。
パラメータ「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>
上記のサブデータセットの「currentContractId」パラメーターにフィールド「id」を渡そうとしているチャート データセットの実行は次のとおりです。
<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 を、役立つと思われる方に喜んで提供します。