クロス集計レポートの構築
では、理論から実践に移りましょう。従業員の 4 年間の給与を表示する、単純なクロス集計レポートを構築します。これを行うには "crosstest" テーブルが必要です。このテーブルは、FastReport の "DEMOS\MAIN" フォルダーにあります。テーブルには、次のようなデータが含まれています。
Name Year Salary
---- ---- ------
Ann 1999 3300
Ben 2002 2000
...
Delphi で新しいプロジェクトを作成し、フォーム上に TTable
、TfrxDBDataSet
、および TfrxReport
コンポーネントを置いて、それらのプロパティを設定します。
Table1:
DatabaseName = 'c:\Program Files\FastReport 4\Demos\Main'
TableName = 'crosstest.db'
// DatabaseName プロパティは、FastReport のインストール
// フォルダーのパスと一致していなければなりません。
frxDBDataSet1:
DataSet = Table1
UserName = 'SimpleCross'
クロス集計レポートをデザインするには、FastReport のコンポーネント パレットから TfrxCrossObject
コンポーネント を使用します。それを Delphi フォームに配置するだけです。どのプロパティも変更する必要はありません。クロス集計機能を含んでいる "frxCross" ユニットは、Delphi アプリケーションがコンパイルされるときに "uses" リストに追加されます。
レポート デザイナーを開きます。まず、[レポート]>[データ]メニュー項目を使用して、データ ソースに接続します。次に、デザイナーのオブジェクト ツール バーから DB クロス集計オブジェクト を選択し、そのオブジェクトを配置するデザイン ページ上の場所をクリックします。
すべての設定は、クロス集計エディターを使用して行われます。エディターは、オブジェクトをダブルクリックして開きます。
上図で示されている項目は以下のとおりです。
1 - 使用可能なデータ ソースのドロップダウン リスト
2 - 選択したデータ ソース内のフィールドの一覧。この一覧から、3、4、または 5 番の一覧へフィールドをドラッグすることができます
3 - 行ヘッダーを生成するフィールドの一覧
4 - 列ヘッダーを生成するフィールドの一覧
5 - 表セルを生成するフィールドの一覧
6 - 表の構造のプレビュー
7 - 構造オプション:タイトルや合計などを表示します
このエディターでマウスを使用するだけで変更を行えます。この例の場合、上図で示されているように、2 の一覧から 3、4、5 の一覧へフィールドをドラッグしさえすれば十分です。その後、[OK]ボタンをクリックしてエディターを閉じます。クロス集計オブジェクトにその構造が示されます。
レポートをプレビューすると、次のような表が表示されます。