チュートリアル 2: レポート・データのグループ化
このチュートリアルでは、クレジット限度ごとにお客様データをグループ化する方法について説明します。
このチュートリアルは、チュートリアル 1: 『シンプルなリスト・レポートの作成』 で作成したレポートから始まります。
この最初のチュートリアルでは、アルファベット順にお客様をリストしたシンプルなレポートを作成しました。
チュートリアル 2 のレポートでは、0-49999、50000-99999、100000-149999 などの $50,000.00 ごとのクレジット限度グループにお客様を編成します。
このチュートリアルを開始する前に、最初のチュートリアルを完了しておいてください。
このチュートリアルでは、以下のタスクを実行します。
タスク 1: レポート設計をオープンする
最初のチュートリアルで、My Reports という名前のプロジェクト・フォルダーに Customers.rptdesign を作成しました。
以下のいずれかのプロシージャーを使用して、Customers.rptdesign をオープンします。
- BIRT Report Designer を使用している場合は、以下のようにナビゲーターを使用してファイルをオープンする。
- 「ウィンドウ」->「ビューの表示」->「ナビゲーター」を選択してナビゲーターをオープンする。
ナビゲーターは、作成するプロジェクト・フォルダーおよびレポート・ファイルをすべて表示します。
- My Reports フォルダーにナビゲートして、次に Customers.rptdesign をダブルクリックする。
- BIRT RCP Report Designer を使用している場合には、メインメニューを使用してファイルをオープンする。
- 「ファイル」->「ファイルを開く」を選択する。
- 「Customers.rptdesign」までナビゲートしてそれを選択してから、「開く」を選択する。
図 8-1 で示されているように、ファイルがレイアウト・エディターでオープンします。
図 8-1 レイアウト・エディターのお客様レポート設計
タスク 2: レポートを新規ファイルとして保管する
最初のチュートリアルで作成したレポートを直接編集せずに、Customers.rptdesign を新規ファイルとして保管します。
- 「ファイル」->「別名保管」を選択する。
「別名保管」には、ファイルの現在の名前および場所が表示されます。
- 「ファイル名」で、Customers.rptdesign を Customers_grouped.rptdesign に変更し、「終了」を選択する。
BIRT Report Designer が Customers.rptdesign のコピーを作成します。
新規ファイルがレイアウト・エディターに表示されます。
タスク 3: クレジット限度フィールドをデータ・セットに追加する
レポートでクレジット限度データを表示するには、CREDITLIMIT フィールドをデータ・セットに追加する必要があります。
- 「データ・エクスプローラー」を選択する。
- 「データ・セット」を展開し、
「カスタマー (Customers)」をダブルクリックする。
「データ・セットの編集」に Customers データ・セットの SQL 照会が表示されます。
- phone の後ろにコンマ (,) を追加する。
- 次の行に、以下のテキストを追加する。
図 8-2 creditLimit フィールドが追加された照会
- 「結果のプレビュー」を選択し、照会がクレジット限度情報の行を戻すことを確認する。
- 「OK」を選択してデータ・セットを保管する。
タスク 4: クレジット限度データをレポートに追加する
このプロシージャーでは、既存テーブルにクレジット限度フィールドを挿入します。
- レイアウト・エディターで、テーブルを選択する。
テーブルの左上にガイド・セルが表示されます。
- 図 8-3 に示されているように、
最初の列の上にあるガイド・セルを右クリックして、「挿入」->「列の左揃え」を選択する。
図 8-3 既存の桁の左側への列の挿入
新規列が表示されます。
- データ・エクスプローラーで「データ・セット」を展開し、
「カスタマー (Customers)」を展開する。Customers データ・セットに、照会で指定されたフィールドが表示されます。
- CREDITLIMIT フィールドをデータ・エクスプローラーからドラッグし、[CUSTOMERNAME] の横の詳細行セルにドロップする。
BIRT Report Designer が名前付き列を作成する。名前付き列はデータ・セット・フィールドにバインドされます。
「データ・バインディングの選択」はこの列バインディングを表示します。
- 「OK」を選択してデフォルトの列バインディングを受け入れる。
レイアウト・エディターのテーブルに、追加したフィールドが表示されます。
レイアウト・エディターがヘッダー行に自動的に追加したラベル要素も表示されます。
このラベルは、列見出しとして扱われ、静的テキストとしてフィールド名を表示します。
レポートは、
図 8-4 のようになります。
図 8-4 レイアウト・エディターでクレジット限度フィールドを追加した結果
- CREDITLIMIT ラベルを編集し、「クレジット限度 (Credit Limit)」として表示されるようにする。
- レポートをプレビューする。レポートは、図 8-5 のようになります。
図 8-5 クレジット限度の追加結果を表示するレポート・プレビュー
お客様の中には、クレジット限度が 0 のお客様も含まれます。これらは新規のお客様で、クレジット行が未承認になっています。
タスク 5: クレジット限度によってグループ・データをグループ化する
現在レポートは、お客様の名前でアルファベット順にソートされています。
最初のチュートリアルで、テーブル内の行をお客様の名前でソートするように指定したことに注意してください。
このプロシージャーで、50,000 の間隔でクレジット限度ごとにデータをグループ化します。
データをグループ化する場合、BIRT は最初に行をグループにソートし、次にそれぞれのグループ内の行をソートします。
この場合、ソート条件がテーブル・レベルで指定されていることが前提になっています。
このタスクが完了するとわかりますが、それぞれのクレジット限度グループ内のデータ行は、お客様の名前でソートされます。
- 「レイアウト」を選択してレイアウト・エディターに戻る。
- テーブルを右クリックして、「グループの挿入」->「上」を選択する。
図 8-6 で示す新規グループには、設定可能なグループ・プロパティーが表示されています。
図 8-6 新規グループ
- 以下のステップに従って、50000 の間隔でクレジット限度ごとにグループ化することを指定する。
- 「名前」に、グループ名として次のテキストを入力する。
- 「グループ」で、ドロップダウン・リストから CREDITLIMIT を選択する。
- 「間隔」で、ドロップダウン・リストから「間隔」を選択する。
- 「範囲」に 50000 と入力する。
- 他のオプションはデフォルト値を使用する。
- 「OK」を選択する。
レポート設計内のテーブルには、
図 8-7 に示されているように、グループ・ヘッダーおよびグループ・フッター行が表示されます。
レイアウト・エディターがグループ・ヘッダー行に自動的に追加したデータ要素も表示されます。
このデータ要素は、グループ見出しとして扱われ、
生成されたレポートでは、それぞれのグループの最初のクレジット限界値が表示されます。
図 8-7 レポート設計におけるグループ・ヘッダー行およびグループ・フッター行
- グループ・ヘッダー行に表示される [CREDITLIMIT] データ要素を選択する。
詳細行に表示される [CREDITLIMIT] データ要素は選択しないでください。
- プロパティー・エディターで、「一般」を選択し、
次に B を選択して、グループ見出しの書式を太字体にする。
- レポートをプレビューする。レポートをスクロールダウンして、すべてのデータを表示する。
図 8-8 に示されているように、このレポートでは、データは 4 つのクレジット限度グループに編成されます。
それぞれのグループの先頭に、太字で 0、61100、113000、227600 という数字が示されています。
これらの数字は、それぞれのグループの最初のクレジット限度値に一致しています。
それぞれのグループでは、お客様はアルファベット順にソートされています。
図 8-8 4 つのクレジット限度グループの 1 つを表示するレポート・プレビュー
タスク 6: グループ・ヘッダーにクレジット限度範囲を表示する
グループ・ヘッダーにそれぞれのグループの最初の値が表示されるよりも、
以下のように、それぞれのグループのクレジット限度範囲が表示されているほうが、レポートのナビゲートは簡単です。
このプロシージャーでは、これらのクレジット限度範囲を表示するための、JavaScript 式の作成方法について示します。
このプロシージャーは、JavaScript 式と関連付けられる列バインディングの作成方法も示しています。
- 「レイアウト」を選択してレイアウト・エディターに戻る。
- テーブルを選択し、プロパティー・エディターで「バインディング」を選択する。
- 次のように、列バインディングを新規作成する。
- 「追加」を選択する。
- 式ビルダーで、次の式を入力する。
- 「OK」を選択する。新規列バインディングが、
列の名前が強調表示されたプロパティー・エディターのバインディング・ページに表示されます。
- 「新規バインディング」名を次の名前に置換する。
- データ要素をダブルクリックし、CREDIT_GROUP_HEADER を選択して、「OK」を選択することによって、
グループ・ヘッダーの CREDITLIMIT データ要素を更新し、新規列バインディングを使用できるようにする。
- レポートをプレビューする。グループ・ヘッダーに、クレジット限度範囲が表示されます。
図 8-9 では、50000 - 99999 グループ・ヘッダーが示されています。
図 8-9 クレジット限度範囲を表示するレポート・プレビュー
タスク 7: 集合情報を表示する
データをグループ化することによる 1 つの利点は、要約を追加したり、それぞれのグループの先頭または終端に情報を集約したりできることです。
このプロシージャーで、以下のタスクを実行します。
- 「レイアウト」を選択してレイアウト・エディターに戻る。
- 以下のようにして、それぞれのグループのお客様の数を表示する。
- パレットからデータ要素をドラッグして、グループ・フッター行の最初のセルにドロップする。
グループ・フッター内にある要素は、それぞれのグループの終端に表示されます。
- 以下のようにして「データ・バインディングの選択」で列を新規作成する。
- 新規行の「名前」に、次のテキストを入力する。
- デフォルトのデータ型「任意」を使用する。
- 「式」に、次の集約式を入力する。
Total.count( ) は、行数を戻します。
- デフォルトの Aggregate On 値、credit_group を使用する。
この値は、Total.count( ) 関数が、それぞれのクレジット限度グループ内の行数を戻すことを示しています。
- 作成したばかりの列バインディングを選択し、「OK」を選択する。
データ要素は、選択した列バインディングを使用します。
- レポートをプレビューする。レポートには、図 8-10 に示されているとおり、それぞれのグループの最後にお客様数が表示されています。
図 8-10 それぞれのグループのお客様の数を示すレポート・プレビュー
- 「レイアウト」を選択してレイアウト・エディターに戻る。
- すべてのお客様の数を以下のようにして表示する。
- テーブルを選択する。
テーブルの左上にガイド・セルが表示されます。
- 最初の行「表」-「ヘッダー」の左側のガイド・セルを右クリックして、
次に「挿入」->「行」->「上」を選択する。
新規テーブル・ヘッダー行が、列見出しを表示する行の上に表示されます。
この行は、後続行のプロパティーを継承しているため、カラーで表示されます。
- 新規行を選択し、プロパティー・エディターで、背景色を白に変更する。
- パレットからデータ要素をドラッグして、新規テーブル・ヘッダー行の最初のセルにドロップする。
テーブル・ヘッダー内にある要素が、セクションの先頭に表示されます。
- 「データ・バインディングの選択」で、列バインディングを以下のように新規作成する。
- 新規行「名前」に、次のテキストを入力する。
- デフォルトのデータ型「任意」を使用する。
- 「式」に、次の集約式を入力する。
- デフォルトの Aggregate On 値、ALL を使用する。
この値は、Total.count( ) 関数がテーブル全体の行数を戻すことを示しています。
- 作成したばかりの列バインディングを選択し、「OK」を選択する。
データ要素は、選択した列バインディングを使用する。
図 8-11 お客様の総数を表示するレポート設計
- レポートをプレビューする。レポートでは、図 8-12 に示されているように、テーブルの先頭にお客様数が表示されています。
図 8-12 お客様の総数を表示するレポート・プレビュー
タスク 8: レポートをフォーマットする
レポートに正しいデータが表示されるようになったため、レポートの外観の改善に主眼を置くことができます。
このセクションでは、以下のタスクを実行します。
詳細行から信用限度データを除去する
正しいクレジット限度グループにデータが表示されていることを検証するには、それぞれのお客様のクレジット限度を表示すると便利です。
データの検証が終了すると、レポートから個々のクレジット限度情報を削除できます。
- 「レイアウト」を選択してレイアウト・エディターに戻る。
- 詳細行から [CREDITLIMIT] データ要素を削除する。
- レポートをプレビューする。レポートは、図 8-13 のようになります。
図 8-13 それぞれの行にクレジット限度データが表示されていないレポート・プレビュー
各グループの開始行にグループ見出しを表示する
クレジット限度グループ見出しが、それぞれのグループの詳細行の上の、その見出し固有の行に表示されます。
このプロシージャーでは、グループ見出しをドロップします。最初の詳細行に見出しが表示されます。
- 「レイアウト」を選択してレイアウト・エディターに戻る。
- 図 8-14 に示されているように、グループ見出しを含むセルを選択する。
セル内のデータ要素ではなく、セルを選択するように注意してください。
図 8-14 選択されたグループ見出しセル
- プロパティー・エディターの「一般プロパティー」で、
「ドロップ」を「詳細」に設定する。
レポート設計では、グループ見出しがまだ詳細行の上に表示されています。
これは、要素がグループ・ヘッダー行にまだ実際に存在しているためです。
- プロパティー・エディターの「埋め込み」プロパティーで、「余白--上部 (Padding--Top)」を 12 ポイントに設定する。
このように設定することにより、グループ見出しが詳細行のデータとより正確に位置合わせされます。
最初のチュートリアルで、詳細行セルの上部に 12 ポイントのパディングを追加したことに注意してください。
- レポートをプレビューする。グループ見出しが、図 8-15 に示されているように、それぞれの最初の行に表示されます。
図 8-15 ドロップしたグループ見出しを表示するレポート・プレビュー
各グループを線で区切る
それぞれのグループを区切るために線を引くと、データのグループを確認しやすくなります。
- 「レイアウト」を選択してレイアウト・エディターに戻る。
- グループ・フッター行内のすべてのセルを選択する。
複数のセルを選択するには、Shift-click を使用します。
- プロパティー・エディターの「境界線」を選択して、次に境界線プロパティーを設定する。
- 「スタイル」を実線に設定する。
- 下部境界線を表示するボタンを選択する。
- 線とその線の上のテキストの間にスペースをさらに追加する。
セルがまだ選択されている状態で、プロパティー・エディターで「余白」プロパティーを選択し、「下部」を 6.0 ポイントに設定する。
- レポートをプレビューする。図 8-16 に示されているように、それぞれのグループの終りに線が表示されます。
図 8-16 グループ間に線を表示するレポート・プレビュー
タスク 9: BIRT レポート・ビューアーでレポートをプレビューする
これまでは、BIRT Report Designer プレビューアーでレポート出力を検査してきました。
今回は、レポート・ビューアーを使用して、レポートがデプロイ時にどのような外観をしているかを確認します。
レポート・ビューアーでは、目次を使用した特定のレポート・セクションへのナビゲート機能を含む、追加機能が提供されています。レポートに複数のグループを作成する場合、BIRT は自動的に目次を生成し、グループ値でレポートの階層がわかるようにします。
- 「ファイル」->「Web ビューアーでレポートを表示」を選択する。
レポートがレポート・ビューアーに表示されます。
- 目次ボタン (ウィンドウの左上のボタン) を選択し、目次を表示する。
目次では、4 つの各クレジット限度グループの最初の値が表示されています。
値を選択すると、そのレポートの対応するセクションが表示されます。
例えば 61100 を選択すると、
図 8-17 に示されているとおり、レポートは、50000 - 99999 のクレジット限度範囲にあるお客様の行を表示します。
図 8-17 目次の値を選択し、対応するデータを表示します
タスク 10: 目次のクレジット限度範囲を表示する
目次には、それぞれのクレジット限度グループの最初の値を表示するよりも、
レポートと同じクレジット限度範囲値を表示したほうが合理的です。
このタスクは、以前使用したものと同じ JavaScript 式を使用してグループ・ヘッダーにクレジット限度範囲 (0 - 49999、50000 - 99999、など) を表示することによって行います。
- BIRT Report Designer に戻る。
- レイアウト・エディターで、テーブルを選択し、
次にプロパティー・エディターで「グループ」タブを選択する。
- グループのリストの credit_group をダブルクリックする。
「グループの編集」には、グループのプロパティーが表示されます。
デフォルトで、「TOC 項目式」は、グループ化フィールド row["CREDITLIMIT"] に設定されています。
- ellipsis (...) ボタンを選択し、
式ビルダーで、row["CREDITLIMIT"] 式を次の式で置換する。
これは、グループ・ヘッダーのデータ要素が使用するものと同じ列バインディング式です。
式を再入力せずに、データ要素からコピーして、ここに貼り付けることができます。
- 「OK」を選択する。
- レポート・ビューアーでレポートをプレビューし、
目次の変更を検証する。
目次には、
図 8-18
に示されているとおり、クレジット限度範囲が表示さます。
図 8-18 更新された目次
