RapidReport 製品ドキュメント

帳票構造の基本

RapidReportの帳票は、「レポート」「グループ」「コンテント」というオブジェクトの組み合わせによって成り立ちます。 この構造は、レポートデザイナの右上部分にツリー形式で表示されます。

帳票構造

このページでは、帳票構造に含まれる各オブジェクトの役割と、帳票に渡されたデータがどのように割り当てられるかについての基本的な事項を説明します。

完成したサンプルは以下からダウンロードできます。

>> サンプルをダウンロード

概要

RapidReportの帳票構造では、トップレベルに必ず1つだけ「レポート」オブジェクトが存在し、その子として「グループ」オブジェクトを持ちます。 また、「グループ」は1つ以上の「コンテント」オブジェクトを持ちます。各「コンテント」は必要に応じて「グループ」を1つだけ持つことができます。

したがって、最小の帳票構造は「レポート」「グループ」「コンテント」が1つだけ存在するといった形となり、レポートデザイナで新規に「空白から作成」すると、この構造となります。

最小の帳票構造

帳票を構成する各オブジェクトの役割を端的に説明すると、以下のようになります。

  • レポート:帳票全体に関わる設定を管理します。
  • グループ:帳票に渡されたデータを必要に応じて分割して保持します。さらにコンテントの配置を行います。
  • コンテント:帳票の出力内容を表します。

これらの具体的な動作について、簡単な帳票を作成しながら説明していきます。 帳票に渡すサンプルデータとして以下を利用します。

帳票に渡すデータ

全体計

まずは、最初から存在するグループに「全体グループ」、コンテントに「全体計」という見出しを設定します。 さらに「全体計」コンテントには、sum.valueという式を持ったフィールド要素を配置します。

※理解しやすさのために、各コンテントに背景色を設定しています。

全体グループの構造とプロパティ値

この帳票をプレビューした結果は以下のようになります。

総合計のプレビュー

帳票に渡されたデータは、帳票のトップレベルから順に各グループへ割り当てられます。 それぞれのグループには、割り当てられたデータを分割するという設定を行うことが可能ですが、 「全体グループ」にはそうした設定は行っていません。 そこで、5件のデータ全体が丸ごと1つの「全体グループ」へ割り当てられます。

全体グループのデータ割り当て

「全体グループ」内の「全体計」コンテントに配置された要素が持つ sum.value 式も、 割り当てられた5件のデータ全体を集計対象とするため、評価結果は150となります。

キー毎計

次に、「全体グループ」に「全体ボディ」という見出しでもう一つコンテントを追加します。 そこに、「キー毎グループ」という見出しで新たにグループを挿入し、そのコンテントに「キー毎計」という見出しを設定します。

ここで、「キー毎グループ」の[ブレーク条件キー]プロパティ値には key を指定します。 「キー毎計」コンテントには .key および sum.value という式を持ったフィールド要素を配置します。

キー毎グループの構造とプロパティ値

この帳票をプレビューした結果は以下のようになります。

キー毎計のプレビュー

「キー毎グループ」では、[ブレーク条件キー]に設定してある列 key の値ごとにデータが分割されます。 そのため、渡された5件のデータは [key=1となっている3件] [key=2となっている2件] の2つに分割されます。

データが2つに分割されたので、「キー毎グループ」も2つ生成されてそれぞれのデータが割り当てられます。 これによって帳票上には「キー毎計」の行が2件出力されます。

キー毎グループのデータ割り当て

「キー毎グループ」内の「キー毎計」コンテントに配置された要素が持つ sum.value 式も、 それぞれのグループに割り当てられたデータ(すなわちkey値によって分割されたデータ)を集計対象とします。 よって評価結果は、キー毎グループ(key=1)が60、キー毎グループ(key=2)が90となります。

.key 式は、割り当てられたデータのうち最初の行の key 列値を取得するので、それぞれ 1 と 2 を返します。

明細行

次に、「キー毎グループ」に「キー毎ボディ」という見出しでもう一つコンテントを追加します。 そこに、「明細グループ」という見出しで新たにグループを挿入し、そのコンテントに「明細行」という見出しを設定します。

ここでは、「明細グループ」の[明細]というプロパティにチェックを入れます。 「明細行」コンテントには .value という式を持ったフィールド要素を配置します。

明細グループの構造とプロパティ値

この帳票をプレビューした結果は以下のようになります。

明細行のプレビュー

「明細グループ」の[明細]プロパティにチェックが付いていることでデータは1件ごとに分割され、それぞれ「明細グループ」に割り当てられます。 これによって、帳票上には渡されたデータ件数と同じ数(すなわち3件+2件)の明細行が出力されます。

明細グループのデータ割り当て

まとめ

以上の例で示した通り、RapidReportでは帳票に渡したデータはトップレベルから順に各グループへ割り当てられます。 その際、[ブレーク条件キー]または[明細]プロパティが設定されていると、データは分割されます。

データを分割した数だけ対象のグループが生成され、それぞれ分割されたデータが割り当てられます。

各グループ内のコンテントに配置された要素が持つ式は、こうして割り当てられたデータを対象として評価されます。


Copyright (c) 2013, SystemBase Co.,Ltd. All rights reserved.