2

私は jasper report 5.0.0 を使用して、以下に説明するシナリオでレポートを作成しています: 私の ireport では、生徒の名前、クラス、ID、目標、proficiencyForGoal を表示する必要があります。各生徒には複数の目標があり、各目標には進歩があります。私のSQLクエリは次のとおりです。結合され、prog.goal_idでグループ化された2つまたは3つのテーブルから、stud.name、stud.class、stud.id、prog.goal_id、prog.proficiencyを選択します。このクエリは、学生ごとに複数の行を提供します。ireport は、行ごとに複数の PDF を (PDF プレビューを使用して) 作成します。しかし、すべての目標と目標の習熟度を、名前、クラス、ID などの学生の詳細とともに単一の PDF に表示したいと考えています。つまり、すべての詳細を含む PDF を生徒ごとに 1 つずつ作成します。したがって、500 人の学生がいる場合、500 個の pdf となります。

生徒ごとに 10 の目標があるとします。現在、私が取得しているのは、名前、クラス、ID の繰り返しを持つ 1 人の生徒の 10 個の PDF であり、500 人の生徒の場合、500*10=5000 個の PDF を取得していますが、これは望ましくありません。

この要件を達成する方法について、あなたの素早い意見やアイデアをいただければ幸いです。

ありがとう

4

4 に答える 4

1

レポートに sql クエリを既に追加した後、レポートにフィールド (名前、クラスなど) を配置するだけで、少なくとも; また、学生ごとに複数の詳細がある場合は、レポートで各学生のサブレポートを使用できます。

于 2012-12-18T22:08:05.357 に答える
0

これをコメントとして追加する方法がわからないので、ここに入れます。

データ セットに値を渡すには、サブ レポートと同じように機能しますが、パラメーター オプションは Ireport のプロパティ セクションにはありません。
サブレポートと同様に、最初にデータセット (student_id) にパラメーターを追加する必要があります。

次に、パラメーター画面に移動するには、次のことを行う必要があります。

リストを右クリックして、パラメータータブの下の「リストデータソースの編集」を選択し、「追加」をクリックしてトッププルに移動すると、値にデータセットパラメーター(student_id)が含まれます[データセットから有効なパラメーターのリストのみが取得されます]マスターレポートを取得する式$F{student_id}

これにより、student_id がメイン レポートからデータセットに渡されます (リスト、テーブル、およびクロス集計に使用されます)。

もちろん、データセットのwhere句に追加する必要があります

where $P{student_id} = student_id

于 2012-12-26T22:38:02.323 に答える
0

クエリでは、student_id のパラメータ化された条件を追加できます

Like:  where student_id=$P{p_student_id}

テキストフィールドや静的テキストなどのすべてを要約バンドに保持します。

于 2012-12-27T06:34:58.130 に答える