【Jasper Lab-0005】明細行の合計値を計算し表示する

 レポートを作成する際には明細行の合計値を計算し表示するという要件は、よくあります。そこで、ここではJasperReports(ジャスパーレポート)で明細行の合計値を計算し、表示する方法について調査及び研究し、その成果をまとめています。

OSS ERP JPiere

単純に明細行の合計値を計算し表示する

 まずは単純に明細行の合計値を計算し、表示する方法です。受注伝票の”行合計(LineNetAmt)”を合計する"総合計(Total)"を例に説明します。

サンプルレポート
サンプルレポート

変数(Variable)の追加とプロパティ設定

Outlineビュー
Outlineビュー

  OutlineビューのVariablesの所で右クリクし、表示されるメニューの中から"Create Variable"を選択します。

Prepertiesビュー
Prepertiesビュー

 追加した変数のプロパティを編集します。Nameの項目を"total"とし、クラスにBigDecimalを選択します。

 そして、Calculationは"Sum"を選択し、Expression欄に合計するフィールドを選択します。

 

変数(Variable)をレポートへ配置する

 変数をドラッグ&ドロップして、レポート内に配置します。ここでは例としてSummaryバンドに配置しています。

ドラッグ&ドロップで変数をレポートへ配置する
ドラッグ&ドロップで変数をレポートへ配置する

 以上で設定は終了です。プレビューして確認して下さい。

伝票番号毎に明細行の合計値を計算し表示する

 先の例では、単純に明細行の合計値を計算し、表示する方法を説明しましたが、実際には、伝票毎に明細行の合計を計算し表示する必要があります。ここでは、次のステップとして、伝票番号毎に明細行の合計値を計算し表示する方法を説明します。伝票番号でグループ化して、グループ毎に合計値を計算する方法です。

サンプルレポート
サンプルレポート
Outlineビュー
Outlineビュー

アウトラインビューのレポートを右クリックし、Create Groupを選択します。

 グループバンドの名称を入力し、伝票番号でグループ化したいので、DocumentNoを選択します。

 グループバンドのフッターだけを今回は使用したいので、フッターのチェックボックスをONにします。

 グループバンドが追加されるので、そこに先に追加している変数を配置します。

グループバンドルの追加
グループバンドルの追加
変数のプロパティの修正
変数のプロパティの修正

 明細行を合計している変数の、Reset TypeをDocumentNoのグループに設定し直します。

 これで、DocumentNoが変更になるたびに、合計値がリセットされ、結果的に伝票番号ごとに合計値を計算する事ができます。

伝票番号が変更になった場合には改ページする

 先の例では、1枚の用紙の中に、複数の伝票の情報が含まれています。そこで最後に補足として伝票番号が変更になった場合に、改ページする方法を説明します。

伝票番号毎のページング(改ページ)

方法1:グループバンドのプロパティを設定する方法

1つ目の方法は、グループバンドのプロパティで、Start New PageのフラグをONにする事で、これで伝票番号が変更になると改ページしてくれます。

方法2:Breakのエレメントを使用する方法

 Breakエレメントを使用する事でも、伝票番号毎に改ページさせる事ができます。

ブレイクのエレメントを使用する方法
ブレイクのエレメントを使用する方法

参考サイト