PowerTools ActiveReports for .NET 9.0J > ActiveReportsユーザーガイド > サンプルとチュートリアル > サンプル > セクションレポートのサンプル(Standard) > Layout > クロスタブ サンプル |
本サンプルでは、クロス集計レポートを作成する方法を紹介します。
フォルダ
Visual Basic.NET
<User Folder>\Samples\Section Reports\Layout\CrossTabReport\VB.NET
C#
<User Folder>\Samples\Section Reports\Layout\CrossTabReport\C#
実行時の機能
サンプルを実行すると、週間、今月、四半期および年間売上高を、カテゴリ別、商品別に一覧表として表示します。
メモ:サンプルを実行するには、NorthWindデータベース(..\ActiveReportsNET9\Data\Nwind.mdb)へのアクセス権限が必要です。データファイルにアクセスできない場合は、上記フォルダを作成して各データファイルをその中に配置するか、またはお客様の環境に合わせてプロジェクト内のデータファイルへの参照パスを変更してください。 |
プロジェクトの構造
StartForm
ProductWeeklySalesレポート
通常のレポートで明細行を表示するために使用するDetailセクションを非表示とし、グループフッタを用いて週間売上等の集計値を一覧表示しています。
注文日(OrderDate)をキーにして、そのデータが週間、今月、四半期、年間、前年度四半期のそれぞれに含まれるかどうかを振り分け、各アンバウンドフィールドに値を設定します。各アンバウンドフィールドの値は、グループフッタに配置した集計用の各Fieldコントロールによって自動的に集計されます。
ReportHeader セクション
レポートタイトルや会社情報を表示します。
PageHeaderセクション
データの各項目、各集計期間を示すラベルを表示します。
ghCategoryセクション
セクションのDataFieldプロパティをCategoryNameに設定しています。この設定およびデータの並び替えにより、カテゴリ毎にグループ化されて表示されます。また、カテゴリを表示するためのTextBoxコントロールを配置し、さらに、次のセクション(gfProductセクション)に重ねて表示するために、UnderlayNextプロパティをTrueに設定しています。
ghProductセクション
セクションを非表示に設定していますが、DataFieldプロパティにProductNameを設定することにより、対応するフッタセクション(gfProductセクション)で商品毎の集計を実現しています。
Detailセクション
セクションを非表示に設定していますが、データソースにバインドした4つのTextBoxコントロールを配置しています。また、セクションのFormatイベントを利用して、非表示のtxtDetProductテキストボックスの値を、_sProductName変数に設定します。イベントの詳細については、「セクションレポートのイベント」を参照してください。
gfProductセクション
カテゴリ内の商品毎の明細データを表示します。
Formatイベントでは、先にDetailセクションのFormatイベントで取得しておいた商品名(_sProductName変数)を商品(txtProductテキストボックス)に設定します。また、増減(txtPQTDChangeテキストボックス)の値については、今年度の四半期の売上額から前年度の四半期の売上額を差し引いて計算しており、値がマイナスの場合には背景色を赤色に設定しています。
各商品の売上数および売上額は、以下のプロパティを使って集計します。
gfCategoryセクション
カテゴリ毎の集計値を表示します。
各商品の売上数および売上額は、以下のプロパティを使って集計します。
PageFooterセクション
セクションを非表示に設定しています。
ReportFooterセクション
セクションを非表示に設定しています。