1

グループ「契約」の 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 を、役立つと思われる方に喜んで提供します。

4

1 に答える 1