biz-Streamマニュアル レイアウト・デザイナ ガイド 第10章 サンプルレイアウト 10.9 サンプルレイアウト(8) - 集計機能を使用したサンプル

10.9 サンプルレイアウト(8) - 集計機能を使用したサンプル

概要

従来、集計表を作成する際の総計や平均などの計算結果は、上位アプリケーションで実施した結果を流し込むという形態をとっていました。biz-Stream ライブラリでは、以下の計算についてドキュメントレイアウトで設定できます。

  • フィールドの合計
  • フィールドの平均値
  • フィールドの最大値
  • フィールドの最小値
  • フィールドに対する四則演算

本サンプルは、製品コード・製品名をキーワードにして集計した結果について総計を出力するものです。

  1. ページ全体に設定するデータソース (page-source)と繰り返し定義のデータソース (csv-source)を定義します。ページ全体に設定するデータソース名に「page-source」と定義します。繰り返し定義のデータソース名に「csv-source」と定義します。csv-sourceに製品コードか製品名が変わったときに表示する小計行の定義と最後に表示する総合計行を定義します。
    サンプルレイアウト(8)
  2. 最初に小計行を定義します。定義名で「小計」を入力します。
  3. 次に集計単位を「ブレイクキー」で定義します。本サンプルでは、製品コードか製品名のどちらかをキーにして集計するため、「製品コード ;製品名」と設定します。";"で区切ることによりキーは複数指定できます。
  4. biz-Streamライブラリ内部処理のための集計定義を行います。これは対象となるフィールドについて、どんな集計を行うのかを指定するもので、中間的な計算を行うものです。項目:関数で集計方法を合計 (sum),平均(average)、最大(max)、最小 (min)から選択し、カラム名で集計対象のフィールドを指定します。
  5. ページレイアウトと連携するデータソースを作成します。これは計算式で指定した計算を対象カラム名で定義するという形態をとります。この対象カラム名をページレイアウトと関連付けします。計算式では、次例のように指定します。
    金額フィールドに対する合計:sum(金額)
    金額フィールドに対する平均:average(金額)
    金額フィールドの最大値:max(金額)
    金額フィールドの最小値:min(金額)
  6. 総合計行を定義します。定義名で「総計」を入力します。
  7. 総計では、「ブレイクキー」に何も指定しません。「ブレイクキー」の指定がない場合は、最後に出力されます。
    サンプルレイアウト(8)
  8. ページレイアウトを、テーブル機能を使って作成します。
    サンプルレイアウト(8)
  9. ページレイアウトでflow-tableのプロパティを開き、小計行、総計行をどのように表示するかそれぞれ定義します。
    集計 設定内容
    小計行 flow-tableの name属性にドキュメントレイアウトで定義した「小計」を設定し、record-type属性に subtotalを定義します。表示するコンポーネントの Name属性にはデータソースの集計定義で定義した対象カラム名を関連付けします。
    総計行 flow-tableの name属性にドキュメントレイアウトで定義した「総計」を設定し、record-type属性に totalを定義します。表示するコンポーネントの Name属性にはデータソースの集計定義で定義した対象カラム名を関連付けします。
    サンプルレイアウト(8)
  • 上記(record-type属性が subtotal、total) のname属性と、ドキュメントレイアウト側の集計定義名が一致していなければ表示されません。

出力結果

サンプルレイアウト(8)
  • 小計行(subtotal)は1つのフレーム<flow-area>(またはサブフレーム<flow-frame>)内に複数定義できるようになりました。
    XMLページレイアウトタグ リファレンス『flow-areaサンプル6』をご参照ください。