本チュートリアルでは、地域別製品売上レポートの作成を例に取って、Tablixデータ領域の実装方法を以下の項目順に説明していきます。
本チュートリアルは6つの作業手順に分かれています。
メモ:
- 本チュートリアルではReelsデータベース(Reels.mdb)を使用します。Reelsデータベース(..\ActiveReportsNET16\Samples\Data\Reels.mdb)へのアクセス権限が必要です。
- このチュートリアルではRDLレポートを使用していますが、ページレポートでも同様の手順でデザイン時、実行時の実装が可能です。
チュートリアルを完了すると、次のようなレポートが作成されます。
デザイン時のレイアウト
実行時のレイアウト
Visual StudioにActiveReportsのプロジェクトを作成する
- Visual Studioで新しいプロジェクトを開きます([ファイル]メニューから[新規作成]、[プロジェクト]を選択)。
- [新しいプロジェクト]ダイアログが表示されます。[ActiveReports 16.0J RDLレポート アプリケーション]を選択し、ファイル名をrptTablixに変更します。
- [OK]をクリックするとActiveReports 16 RDLレポートアプリケーションが新規作成されます。デフォルトでRDLレポートがプロジェクトに追加されています。
レポートレイアウトの追加については「クイックスタート」を参照してください。
レポートをデータソースに接続する
- [レポートエクスプローラ]で[データソース]ノードを右クリックして[データソースの追加]を選択するか、[追加](+)ボタンから[データソース]を選択します。
- 表示される[レポートデータソース]ダイアログで[全般]ページを選択し、名前をReportDataに変更します。
- このチュートリアルでは、Reelsデータベースに接続します。接続の詳細については「データソースとの接続」を参照してくだざい。
データセットを追加する
- [レポートエクスプローラ]で、さきほど追加した[データソース]のReportDataを右クリックして[データセットの追加]を選択するか、[追加](+)ボタンをクリックした後、[データセット]を選択します。
- 表示される[データセット]ダイアログで[全般]ページを選択し、[名前]フィールドをSalesDataに変更します。この名前は[データソース]の子ノードとして[レポートエクスプローラ]に表示されます。
-
[データセット]ダイアログの[クエリ]ページで、クエリフィールドに次のSQLクエリを入力します。
SQLクエリ |
コードのコピー
|
SELECT Sale.SaleDate, Sale.TotalAmount, MediaType.Description, MediaType.MediaID, Sale.SalesID,
Sale.Store, Store.StoreName FROM Store INNER JOIN
(Sale INNER JOIN (MediaType INNER JOIN (MovieProduct INNER JOIN SaleDetails
ON MovieProduct.ProductID = SaleDetails.ProductID) ON MediaType.MediaID =
MovieProduct.MediaType) ON Sale.SalesID = SaleDetails.SaleID)
ON Store.StoreID = Sale.Store;
|
- クエリボックスの右上にある[データセットの検証]アイコンをクリックしてクエリを検証します。
- [OK]をクリックしてダイアログを閉じます。[SalesData]データセットおよび各フィールドがレポートエクスプローラにノードとして表示されます。
レポートのレイアウトを作成する
- ツールボックスからTablixデータ領域をドラッグしてデザイナ面にドロップします。
- ポインタをTextBox2上でホバーさせると、フィールド選択用アイコン(五本線の入ったアイコン)がセルの右上隅に表れます。これをクリックし、表示される利用可能なフィールドの中から[SaleDate]フィールドを選択します。このセルは列グループセルなので、フィールドを選択すると自動的に列グループが追加されます。
- TextBox2を選択した状態で、[プロパティ]ウィンドウのValueを=Year(Fields!SaleDate.Value)に設定します。これにより、この列グループのタイトルが年表示になります。
- グループエディタで[SaleDate]グループを選択し、[プロパティ]ウィンドウの[Group]プロパティノードを開き、GroupExpressionsプロパティを選択します。右端に表示される<...>ボタンをクリックして[式]ダイアログを開きます。
- 表示される[式]ダイアログのメンバリストからグループメンバを選択します。右側のプロパティグリッドのExpressionに=Year(Fields!SaleDate.Value)を入力します。これにより、データが年別にグループ化されます。[OK]をクリックしてダイアログを閉じます。
- [SaleDate]フィールドが追加されたTextBox2を右クリックして[列グループの追加]から[右に隣接]を選択します。列グループが右隣に追加され、[グループエディタ]ウィンドウのリストに表示されます。
- ポインタをTextBox5上でホバーさせると、フィールド選択用アイコンが表れます。これをクリックし、表示される利用可能なフィールドの中から[Description]フィールドを選択します。このセルは列グループセルなので、フィールドを選択すると自動的に列グループが追加されます。
- [Description]フィールドが追加されたTextBox5を右クリックして[行を挿入]を選択し、[外側のグループ - 上]を選択します。手順6で追加した列グループの上に新たな行が追加され、[グループエディタ]ウィンドウのリストに表示されます。
- [SaleDate]フィールドの上にあるTextBox8を選択し、[プロパティ]ウィンドウのValueプロパティに年度と入力します。さらに、[Description]フィールドの上にあるTextBox7のValueプロパティにメディアの種類と入力します。
- ポインタをTextBox3上でホバーさせると、フィールド選択用アイコンが表れます。これをクリックし、表示される利用可能なフィールドの中から[StoreName]フィールドを選択します。このセルは行グループセルなので、ここでフィールドを選択すると自動的に行グループが追加されます。
- ポインタをTextBox4上でホバーさせると、フィールド選択用アイコンが表れます。これをクリックし、表示される利用可能なフィールドの中から[TotalAmount]フィールドを選択します。
- ポインタをTextBox6上でホバーさせると、フィールド選択用アイコンが表れます。これをクリックし、表示される利用可能なフィールドの中から[TotalAmounts]フィールドを選択します。
レポートの外観性を高める
この時点でレポートをプレビュー表示すると、各フィールドの値がTablixデータ領域に表示されていることが分かります。以下の各セルのプロパティを[プロパティ]ウィンドウで設定すると、Tablixデータ領域のレイアウト性を高めることができます。
-
セル |
プロパティ名 |
プロパティの値 |
=Year([SaleDate]) |
BackgroundColor |
WhiteSmoke |
BorderStyle |
Solid |
FontWeight |
Bold |
TextAlign |
Center |
年度 |
BackgroundColor |
LightSteelBlue |
BorderStyle |
Solid |
FontWeight |
Bold |
TextAlign |
Center |
=[Description] |
BackgroundColor |
SlateGray |
BorderStyle |
Solid |
FontWeight |
Bold |
TextAlign |
Center |
メディアの種類 |
BackgroundColor |
LightSteelBlue |
BorderStyle |
Solid |
FontWeight |
Bold |
TextAlign |
Center |
=[StoreName] |
BackgroundColor |
WhiteSmoke |
BorderStyle |
Solid |
TextAlign |
Center |
=Sum([TotalAmount]) |
Format |
c |
BorderStyle |
Solid |
TextAlign |
Center |
- 上段左隅にある空欄のセル2つを選択します。選択した領域を右クリックして[セルの結合]オプションを選択してセルを結合します。
- 結合したセルを選択した状態で、[プロパティ]ウィンドウでValueプロパティに年度別・メディア別売上と入力します。
-
年度別・メディア別売上のテキストを格納しているTextBoxを選択した後、[プロパティ]ウィンドウに移動して以下のプロパティを設定します。
プロパティ名 |
プロパティの値 |
BackgroundColor |
LightSteelBlue |
BorderStyle |
Solid |
FontWeight |
Bold |
TextAlign |
Center |
- このTablixデータ領域を選択し、[プロパティ]ウィンドウに移動して以下のプロパティを設定します。
プロパティ名 |
プロパティの値 |
Location |
0in, 0in |
Size |
7.62in, 2.85in |
レポートを表示する
- デザイン時に[プレビュー]タブをクリックしてレポートを表示します。
あるいは