前のトピック次のトピック


チュートリアル 3: 横並びのサブレポートを含むレポートの作成

このセクションでは、お客様のリストを表示するレポートを作成するための段階的な説明を提供します。レポートには、お客様ごとに注文および支払い情報が表示されます。注文情報と支払い情報は、横並びに表示される個別のサブレポートに示されます。 お客様レポートはマスター・レポートであり、外部レポートとも呼ばれ、注文および支払いサブレポートは詳細レポートであり、内部レポートとも呼ばれます。

各レポートは、サンプル・データベース Classic Models の異なるテーブルから得られるデータにアクセスします。お客様レポートは、Customers テーブルから得られるデータを使用します。 注文サブレポートは、Orders テーブルから得られるデータを使用します。支払いサブレポートは、Payments テーブルから得られるデータを使用します。

共通フィールド CUSTOMERNUMBER は、レポートをリンクします。マスター・レポートのリンク・フィールドの値は、明細報告書に表示されるデータを決定します。例えば、マスター・レポートのカスタマー番号が 173 である場合、明細報告書には、ID が 173 であるお客様の注文および支払い情報が表示されます。

図 13-1 は完了したレポートを示します。

図 13-1 注文および支払いサブレポートを含むお客様マスター・レポート

このチュートリアルでは、以下の作業を行います。

作業 1: 新規レポートの作成

BIRT レポート・デザイナーを使用している場合、この作業は、レポートのためにプロジェクトを作成したことを前提としています。BIRT RCP レポート・デザイナーを使用している場合は、プロジェクトに対する要件はありません。

  1. 「ファイル」>「新規」>「レポート」と選択する。
  2. 「新規レポート」で、レポートが保管されるプロジェクトを選択する。
  3. 以下のテキストをファイル名として入力する。
  4. Cust_Orders_Payments.rptdesign 
    
  5. 「次へ」を選択する。
  6. 「ブランクのレポート」を選択してから、「終了」を選択する。新規レポートがレイアウト・エディターに表示されます。

作業 2: データ・ソースの作成

レイアウト・エディターでレポートの設計を開始する前に、レポートを Classic Models データベースに接続するためにデータ・ソースを作成します。

  1. 「データ・エクスプローラー」を選択する。
  2. データ・ソースを右クリックし、コンテキスト・メニューから「新規データ・ソース」を選択する。
  3. データ・ソースのリストから Classic Models Inc. サンプル・データベースを選択し、デフォルト・データ・ソースを使用して、「次へ」を選択する。新規データ・ソースに関する接続情報が表示されます。
  4. 「終了」を選択する。BIRT レポート・デザイナーは、サンプル・データベースに接続する新規データ・ソースを作成します。これはデータ・エクスプローラーのデータ・ソース内に表示されます。

作業 3: お客様レポートのためのデータ・セットの作成

このプロシージャーでは、Customers テーブルから抽出するデータを示すためにデータ・セットを作成します。後で作成するお客様レポートは、このデータ・セットを使用します。

  1. データ・エクスプローラーで、データ・セットを右クリックして、「新規データ・セット」を選択する。
  2. 「新規データ・セット」で、データ・セット名に以下のテキストを入力する。
  3. お客様 
    
  4. その他のフィールドにはデフォルト値を使用する。
    • 「データ・ソース」には、前に作成されたデータ・ソースの名前が示されます。
    • 「データ・セット・タイプ」は、データ・セットが SQL SELECT クエリーを使用することを指定します。
  5. 「次へ」を選択する。「照会 (Query)」には、SQL クエリーを作成するのに役立つ情報が表示されます。右側のテキスト・エリアには、SQL SELECT ステートメントの必須キーワードが表示されます。
  6. CUSTOMERS テーブルを展開する。Customers テーブルの列が表示されます。
  7. 以下の SQL SELECT ステートメントを使用して、取得するデータを示す。列およびテーブル名を入力することも、列およびテーブル名を左側から SELECT ステートメントの適切なロケーションにドラッグすることもできます。
  8. SELECT Customers.customerName, 
    Customers.customerNumber 
    FROM Customers 
    
    作成したこのステートメント (図 13-2 に示されています) は、CUSTOMERNAME および CUSTOMERNUMBER 列から CUSTOMERS テーブルに値を取得します。

    図 13-2 クエリー
  9. 「終了」を選択してデータ・セットを保管する。「データ・セットの編集」は、クエリーに指定された列を表示し、データ・セットを編集するためのオプションを提供します。
  10. 「結果のプレビュー」を選択して、クエリーが有効であって、正しいデータを戻すことを確認する。SELECT ステートメントを正しく作成した場合、結果が図 13-3 に表示されます。これらはクエリーが戻すデータ行です。
  11. 図 13-3 データのプレビュー
  12. 「OK」を選択します。

作業 4: 注文サブレポートのデータ・セットの作成

このプロシージャーでは、Orders テーブルから抽出するデータを示すためにデータ・セットを作成します。後で作成する注文サブレポートはこのデータ・セットを使用します。

  1. データ・エクスプローラーで、データ・セットを右クリックし、コンテキスト・メニューから「新規データ・セット」を選択する。
  2. 「新規データ・セット」で、データ・セットの名前として以下のテキストを入力する。
  3. Orders 
    
  4. その他のフィールドにはデフォルト値を使用し、「次へ」を選択する。
  5. 「クエリー」で、Orders テーブルを展開してテーブル内の列を表示する。
  6. 以下の SQL SELECT ステートメントを使用して、取得するデータを指定する。
  7. SELECT Orders.orderNumber, 
    Orders.orderDate 
    FROM Orders 
    WHERE Orders.customerNumber = ? 
    
    このステートメントは Orders テーブルから ORDERNUMBER および ORDERDATE 列を選択する。 WHERE 文節には、CUSTOMERNUMBER の値に対応するパラメーター・マーカーがあります。レポートが実行されると、注文サブレポートはお客様レポートから現在の CUSTOMERNUMBER 値を取得します。
  8. 「終了」を選択して、データ・セットを保管する。「データ・セットの編集」はクエリーで指定された列を表示し、データ・セットを編集するためのオプションを提供します。
  9. WHERE 文節に CUSTOMERNUMBER 値を提供するためにデータ・セット・パラメーターを作成する。
    1. ウィンドウの左側からパラメーターを選択する。「データ・セットの編集」は、パラメーター情報を表示します。
    2. テーブルの最初の行に以下の値を指定する。
      • 名前: CustID
      • データ型: 整数
      • 方向: 入力
      • デフォルト値: 103
      • 103 は CUSTOMERNUMBER 列の値の 1 つです。デフォルト値は、BIRT レポート・デザイナーがテストのためにクエリーを実行するために必要です。
    「データ・セットの編集」は、図 13-4 のようになります。

    図 13-4 注文サブレポートのパラメーター定義
  10. 「結果のプレビュー」を選択して、クエリーが有効であって、正しいデータを戻すことを確認する。SELECT ステートメントを作成し、データ・セット・パラメーターを正しく作成した場合は、図 13-5 に示される結果が表示されます。 これらは、カスタマー番号 103 に対してクエリーから戻されるデータ行です。
  11. 図 13-5 注文サブレポートのデータ・プレビュー
  12. 「OK」を選択して、データ・セットの変更を保管する。

作業 5: 支払いサブレポートのデータ・セットの作成

このプロシージャーでは、データ・セットを作成して、Payments テーブルから抽出するデータを示します。後で作成する支払いサブレポートは、このデータ・セットを使用します。

  1. データ・エクスプローラーで、データ・セットを右クリックし、コンテキスト・メニューから「新規データ・セット」を選択する。
  2. 「新規データ・セット」で、データ・セットの名前として以下のテキストを入力する。
  3. Payments 
    
  4. その他のフィールドにはデフォルト値を使用し、「次へ」を選択する。
  5. 「クエリー」で、Payments テーブルを展開してテーブル内の列を表示する。
  6. 以下の SQL SELECT ステートメントを使用して、取得するデータを指定する。
  7. SELECT Payments.paymentDate, 
    Payments.checkNumber, 
    Payments.amount 
    FROM Payments 
    WHERE Payments.customerNumber = ? 
    
    このステートメントは、Payments テーブルから PAYMENTDATE、CHECKNUMBER、および AMOUNT 列を選択します。WHERE 文節には CUSTOMERNUMBER の値に対するパラメーター・マーカーがあります。レポートが実行されると、支払いサブレポートはお客様レポートから現在の CUSTOMERNUMBER 値を取得します。
  8. 「終了」を選択して、データ・セットを保管する。「データ・セットの編集」はクエリーに指定された列を表示し、データ・セットを編集するためのオプションを提供します。
  9. WHERE 文節の CUSTOMERNUMBER 値を提供するためにデータ・セット・パラメーターを作成する。
    1. パラメーターを選択する。「データ・セットの編集」はパラメーター情報を表示します。
    2. テーブルの最初の行に以下の値を指定する。
      • 名前: CustID
      • データ型: 整数
      • 方向: 入力
      • デフォルト値: 103
  10. 「結果のプレビュー」を選択して、クエリーが有効であって、正しいデータを戻すことを確認する。SELECT ステートメントを作成し、データ・セット・パラメーターを正しく作成した場合は、図 13-6 に示される結果が表示されます。 これらは、カスタマー番号 103 に対してクエリーから戻されるデータ行です。
  11. 図 13-6 支払いサブレポートのデータ・プレビュー
  12. 「OK」を選択して、データ・セットの変更を保管する。

作業 6: お客様マスター・レポートの作成

リスト要素を使用して、マスター・レポートを作成し、そのレポート内の注文および支払いサブレポートを編成します。このリストは、お客様データ行ごとに反復され、各レコードの関連する注文および支払いサブレポートを作成します。 簡略化するため、お客様レポートにはお客様の名前だけが表示されています。もちろん、お客様の住所、電話番号、およびクレジット限度などの追加データを表示することができます。

  1. パレットを選択する。
  2. パレットからリスト要素をドラッグし、レポート内にドロップする。リスト要素が、図 13-7 に示すようにレポートに表示されます。
  3. 図 13-7 リスト要素
  4. リストをデータ・セットと関連付ける (バインドする)。
    1. プロパティー・エディターで、「バインディング」タブを選択する。
    2. 「データ・セット」として、ドロップダウン・リストから「お客様 (Customers)」を選択する。
  5. データ・エクスプローラーを選択し、「データ・セット」を展開してから、「お客様 (Customers)」を展開する。クエリーで指定した列は、「お客様 (Customers)」の下に表示されます。
  6. データ・エクスプローラーから CUSTOMERNAME をドラッグし、リストの詳細エリアにドロップする。 BIRT レポート・デザイナーが名前付き列を作成し、この列がデータ・セット・フィールドにバインドされます。「データ・バインディングの選択」により、この列バインディングが表示されます。
  7. 「OK」を選択し、デフォルト列バインディングを受け入れる。レイアウト・エディターで、リストには図 13-8 に示すように追加されたフィールドが表示されます。
  8. 図 13-8 リスト要素のデータ・セット・フィールド
  9. 「プレビュー」を選択し、レポートをプレビューする。レポートは、図 13-9 のようになります。レポートには、クエリーによって戻される順序ですべてのお客様の名前がリストされます。
  10. 図 13-9 マスター・レポートのデータ・プレビュー
  11. お客様の名前を昇順にソートする。
    1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
    2. レイアウト・エディターで、リスト要素を選択する。「リスト」タブが表示されるまでマウス・ポインターを左下隅に移動して、タブを選択します。
    3. プロパティー・エディターで、「ソート」タブを選択する。
    4. 「ソート」タブで、「追加」を選択し、ソート式を作成する。「ソート」の下に 1 行が表示されます。
    5. 「ソート・キー」の下のエリアをクリックし、表示される矢印ボタンを選択し、ドロップダウン・リストから CUSTOMERNAME を選択する。
    6. 図 13-10 に示すように「ソート方向」としてデフォルト値 Ascending を使用する。
    7. 図 13-10 ソート式
  12. レポートをプレビューする。お客様の名前が昇順に表示されます。

作業 7: 注文サブレポートの作成

注文サブレポートには、各お客様の注文が行および列フォーマットでリストされます。このレポートには、各注文のオーダー番号と日付が表示されます。注文データ・セット行を反復して行および列フォーマットで表示するには、テーブル要素を使用します。

  1. 「レイアウト」を選択して、レイアウト・エディターに戻る。
  2. パレットからテーブル要素をドラッグし、詳細エリアの [CUSTOMERNAME] データ要素の下にドロップする。 「テーブルの挿入」では、テーブルに作成する列数と詳細行数の指定を求めるプロンプトが出されます。
  3. 2 つの列と 1 つの詳細行を作成し、「OK」を選択する。2 つの列と 1 つの詳細行があるテーブルがレイアウト・エディターに表示されます。
  4. テーブルを Orders データ・セットとバインドする。
    1. プロパティー・エディターで、「バインディング」を選択する。
    2. 「データ・セット」のために、ドロップダウン・リストから「注文 (Orders)」を選択する。
  5. データ・エクスプローラーを選択し、「データ・セット」を展開し、「注文 (Orders)」を展開する。クエリーで指定した列が「注文 (Orders)」の下に表示されます。co
  6. データ・エクスプローラから ORDERNUMBER をドラッグし、テーブルの詳細行の最初のセルにドロップする。BIRT レポート・デザイナーは、名前付き列を作成し、この列がデータ・セット・フィールドにバインドされます。「データ・バインディングの選択」は、この列バインディングを表示します。
  7. 「OK」を選択し、デフォルト列バインディングを受け入れる。
  8. レイアウト・エディターで、データ・セット・フィールドをドロップしたテーブル・セルには、[ORDERNUMBER] を表示するデータ要素が含まれています。このデータ要素の上に、レイアウト・エディターが自動的にヘッダー行に追加するラベル要素があります。 このラベルは、フィールド名を静的テキストとして表示し、列見出しとして機能します。
  9. データ・エクプローラから ORDERDATE をドラッグし、詳細行の 2 番目のセルにドロップする。「OK」を選択して、デフォルト列バインディングを受け入れます。 このレポート・ページは、図 13-11 のようになります。
  10. 図 13-11 レポート設計は注文サブレポートを含みます。
  11. 注文行を注文番号でソートする。
    1. 注文テーブルを選択する。
    2. プロパティー・エディターで、「ソート」を選択する。
    3. 「ソート」ページで、「追加」を選択してソート式を作成する。 1 行が「ソート」の下に表示されます。
    4. 「ソート・キー」の下のエリアをクリックし、表示される矢印ボタンを選択し、ドロップダウン・リストから ORDERNUMBER を選択する。
    5. 「ソート方向」としてデフォルト値 Ascending を選択する。
  12. レポートをプレビューする。
  13. レポートは、図 13-12 のようになります。

    図 13-12 レポートのプレビューには反復された注文レコードが表示されます。
    データ・セット・パラメーター CustID を作成したときに customerNumber にデフォルト値 103 を指定したので、すべてのお客様に同じ注文レコードが表示されます。 このデフォルト値が使用されるために、注文サブレポートにはお客様 103 の注文レコードが常に表示されます。
    解決策は、マスター・レポートのお客様行が変更されるたびに CustID パラメーターの値を動的に更新することです。 この手順については、次の作業で説明します。

作業 8: 注文サブレポートをお客様マスター・レポートにリンクする

お客様レポートで CustID パラメーターを CUSTOMERNUMBER データ・セット・フィールドにバインドすることにより、注文サブレポートをお客様マスター・レポートにリンクします。お客様レポートが新規のお客様の行になると、CustID パラメーターは新規の CUSTOMERNUMBER 値で更新されます。

CustID パラメーターを CUSTOMERNUMBER データ・セット・フィールドにバインドする前に、列バインディングを作成し、データ・セット・フィールドにバインドする必要があります。 パラメーターはデータ・セット・フィールドに直接アクセスすることはできません。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. CUSTOMERNUMBER データ・セット・フィールドにバインドされる列バインディングを作成する。
    1. リストを選択する。
    2. プロパティー・エディターで、「バインディング」を選択する。
    3. 「バインディング」ページで、「追加」を選択する。
    4. 式ビルダーで、「使用可能なデータ・セット」を選択し、「お客様 (Customers)」を選択し、CUSTOMERNUMBER をダブルクリックする。式ビルダーは、図 13-13 に示すように式 dataSetRow["CUSTOMERNUMBER"] を表示します。
    5. 図 13-13 式ビルダーが列バインディング式を表示します。
    6. 「OK」を選択する。新規列バインディングがプロパティー・エディターのバインディング・ページに表示され、列名が強調されます。
    7. 名前 New Binding を以下の名前に置き換える。
    8. CUSTOMER_NUMBER 
      
  3. 注文テーブルを選択する。
  4. プロパティー・エディターで、「バインディング」を選択する。
  5. 「バインディング」ページで、「データ・セット・パラメーターのバインディング」を選択する。「データ・セット・パラメーターのバインディング」に 図 13-14 に示すようにパラメーターが表示されます。その値は、データ・セット・パラメーターを作成したときに指定したデフォルト値 103 に設定されます。
  6. 図 13-14 注文テーブルの「データ・セット・パラメーターのバインディング」
  7. パラメーター値をお客様レポートの CUSTOMERNUMBER フィールドに変更する。
    1. 「値」フィールドをクリックし、右側に表示されるボタンを選択する。
    2. 「式ビルダー」が表示されます。
    3. 式ビルダーで、「使用可能な列のバインディング」を選択し、「リスト」を選択し、CUSTOMER_NUMBER をダブルクリックする。式ビルダーは、図 13-15 に示すように式 row["CUSTOMER_NUMBER"] を表示します。
    4. 図 13-15 式ビルダーの CUSTOMERNUMBER フィールド
    5. 「OK」を選択して、式を保管する。「データ・セット・パラメーターのバインディング」ページに CustID パラメーターの row["CUSTOMER_NUMBER"] の新しい値が表示されます。
  8. 「OK」を選択し、変更されたデータ・セットのバインディングを保管する。
  9. レポートをプレビューする。このレポートは、図 13-16 のようになります。
  10. 図 13-16 レポートのプレビューは正しい注文データを示します。
    異なるお客様に対して異なる注文レコードが表示されます。すべてのお客様が注文レコードを持つわけではありません。注文を持つお客様だけを表示するには、お客様レポートのクエリーを変更します。 この作業は作業 11: "注文または支払いを持つお客様だけの表示"で後で説明します。

作業 9: 支払いサブレポートの作成

支払いサブレポートには、各お客様が行った支払いが行および列フォーマットで表示されます。このサブレポートには、支払日、チェック番号、および各注文の金額が表示されます。支払いデータ・セット行を反復し、行および列フォーマットで表示するには、テーブル要素を使用します。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. パレットからテーブル要素をドラッグし、詳細エリアの注文サブレポートの下にドロップする。 「テーブルの挿入」では、テーブルを作成するために列数と詳細行数を指定するように求めるプロンプトが出されます。
  3. 3 つの列と 1 つの詳細行を作成することを指定し、「OK」を選択する。 3 つの列と 1 つの詳細行からなるテーブルが、レイアウト・エディターに表示されます。
  4. テーブルを Payments データ・セットにバインドする。
    1. プロパティー・エディターで、「バインディング」を選択する。
    2. データ・セットのために、ドロップダウン・リストから「支払い (Payments)」を選択する。
  5. 「データ・エクスプローラー」を選択し、「データ・セット」を展開して、「支払い (Payments)」を展開する。クエリーに指定した列が「支払い (Payments)」の下に表示されます。
  6. データ・エクスプローラーから以下のフィールドをドラッグし、テーブルの詳細行の最初、2 番目、および 3 番目のセルにドラッグする。「OK」を選択して、すべてのフィールドのデフォルト列バインディングを受け入れます。
    • PAYMENTDATE
    • CHECKNUMBER
    • AMOUNT
    レポート・ページは、図 13-17 のようになります。

    図 13-17 レポート設計は支払いサブレポートを含みます。
    テーブルには追加したデータ・セット・フィールドが表示されます。レイアウト・エディターが自動的にヘッダー行に追加したラベルも表示されます。ラベルは、フィールド名を静的テキストとして表示し、列見出しとして機能します。
  7. 支払日ごとに支払い行をソートする。
    1. 支払いテーブルを選択する。
    2. プロパティー・エディターで、「ソート」を選択する。
    3. 「ソート」ページで、「追加」を選択してソート式を作成する。1 行が「ソート」の下に表示されます。
    4. 「ソート・キー」の下のエリアをクリックし、表示される矢印ボタンを選択し、ドロップダウン・リストから PAYMENTDATE を選択する。
    5. 「ソート方向」に対してデフォルト値 Ascending を使用する。
  8. レポートをプレビューする。レポートは、図 13-18 のようになります。
  9. 図 13-18 レポート・プレビューが、反復された支払いレコードを表示します。
    最初に作成したときの注文サブレポートと同様に、Payments データ・セットのパラメーター CustID を作成したときの customerNumber にデフォルト値 103 を指定したため、すべてのお客様に同じ支払いレコードが反復されます。 このデフォルト値が使用されるために、支払いサブレポートにはお客様 103 の支払いレコードが常に表示されます。
    注文サブレポートと同様に、マスター・レポートの各お客様の CustID パラメーターの値を動的に更新する必要があります。

作業 10: 支払いサブレポートをお客様マスター・レポートにリンクする

支払いサブレポートの CustID パラメーターをお客様レポートの CUSTOMERNUMBER フィールドにバインドすることにより、支払いサブレポートをお客様マスター・レポートにリンクします。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. 支払いテーブルを選択する。
  3. プロパティー・エディターで、「バインディング」タブを選択する。
  4. 「バインディング」ページで、「データ・セット・パラメーターのバインディング」を選択する。「データ・セット・パラメーターのバインディング」には CustID パラメーターが表示されます。その値は、データ・セット・パラメーターを作成したときに指定したデフォルト 103 に設定されます。
  5. パラメーター値をお客様マスター・レポートの CUSTOMERNUMBER フィールドに変更する。
    1. 「値」フィールドをクリックし、右側に表示されるボタンを選択する。
    2. 式ビルダーで、「使用可能な列のバインディング」を選択し、「リスト」を選択し、CUSTOMER_NUMBER をダブルクリックする。式ビルダーは、式 row["CUSTOMER_NUMBER"] を表示します。
    3. 「OK」を選択して、式を保管します。「データ・セット・パラメーターのバインディング」ページに CustID パラメーターの row["CUSTOMER_NUMBER"] の新しい値が表示されます。
  6. 「OK」を選択して、変更されたデータ・セット・パラメーターのバインディングを保管する。
  7. レポートをプレビューする。レポートでは異なるお客様に対応して異なる支払いレコードが表示されます。すべてのお客様が支払いレコードを持つわけではありません。 支払いまたは注文を持つお客様のみを表示するには、お客様レポートのクエリーを変更します。

作業 11: 注文または支払いを持つお客様のみを表示する

データベースには注文または支払いを持たないお客様も含まれています。お客様レポートのクエリーは、すべてのお客様を戻します。レポートを実行すると、図 13-19 に示すように注文および支払いテーブルの列見出しのみを表示するお客様行があります。

図 13-19 レポートには 1 人のお客様についての注文または支払いデータが表示されません。

お客様レポートのクエリーを変更することにより、注文または支払いを持たないお客様を除外することができます。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. 「データ・エクスプローラー」で、「データ・セット」を展開し、「お客様 (Customers)」を右クリックし、「編集」を選択する。
  3. 以下の SQL 行を既存のクエリーの最後に追加する。
  4. WHERE  
    EXISTS  
    (SELECT Orders.customerNumber 
    FROM Orders  
    WHERE Customers.customerNumber =  
    Orders.customerNumber) 
    OR 
    EXISTS  
    (SELECT Payments.customerNumber 
    FROM Payments  
    WHERE Customers.customerNumber =  
    Payments.customerNumber) 
    
    WHERE EXISTS 文節は、Customers テーブルの customerNumber 値と一致する customerNumber 値の Orders および Payments テーブルをチェックします。 一致する customerNumber 値を持つ行のみが選択されます。完全なクエリーは、図 13-20 に示すようになります。

    図 13-20 「データ・セットの編集」の WHERE EXISTS 文節
  5. 「結果のプレビュー」を選択して、クエリーが行を戻すことを検証してから、「OK」を選択する。
  6. レポートをプレビューする。レポートをスクロールダウンし、出力をチェックします。レポートには、注文または支払いを持たないお客様は表示されなくなります。

作業 12: サブレポートを横並びに表示する

サブレポートに正しいデータが表示されると、サブレポートを横並びに表示することに集中することができます。BIRT レポート・デザイナーはブロック・レベル要素を作成し、各要素は新しい行から開始されるので、2 つのテーブルを横並びに配置することはできません。横並びのテーブルを表示するには、テーブルをグリッドに挿入します。グリッドにより要素を簡単に位置合わせすることができます。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. パレットからグリッド要素をドラッグし、注文テーブルの上の「詳細」行にドロップする。「グリッドの挿入」は、グリッドの列と行の数を指定するように求めるプロンプトが出されます。
  3. 「列数」に 2 を入力し、「行数」に 1 を入力して、「OK」を選択する。
  4. 2 つの列と 1 つの行があるグリッドがレイアウト・エディターに表示されます。
  5. 注文テーブルを最初のグリッド・セルに移動する。このためには、左下隅にある「テーブル」タブを選択し、テーブルをドラッグし、グリッド・セルにドロップします。
  6. 支払いテーブルを 2 番目のグリッド・セルに移動する。報告書レイアウトは、図 13-21 のようになります。
  7. 図 13-21 レポート設計の横並びサブレポート
  8. レポートをプレビューする。レポートは、図 13-22 のようになります。
  9. 図 13-22 横並びのサブレポートを示すレポート・プレビュー

作業 13: レポートのフォーマット

レポートに正しいデータとレイアウトが表示された場合、レポートの外観を改善することができます。このセクションでは、以下の作業を実行します。

お客様の名前の強調表示

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. レイアウト・エディターで、[CUSTOMERNAME] データ要素を選択する。
  3. プロパティー・エディターの「プロパティー」タブを選択する。
  4. 「プロパティー」の下のリストから「一般」を選択する。プロパティー・エディターは、データ要素の一般フォーマット・プロパティーを表示します。
  5. 「サイズ」として「大」を選択し、要素のテキストを大きいサイズで表示する。テキストのサイズが大きくなります。
  6. 「B」を選択し、データを太字テキストとしてフォーマットする。データは太字で表示されます。

列見出しの編集

データ・セット・フィールドをテーブルに挿入するとき、BIRT レポート・デザイナーはデータ・セット・フィールド名を持つラベルをヘッダー行に自動的に追加します。データ・セット・フィールド名はレポートに適切な書式でない場合があり、変更する必要があります。

  1. 注文表の最初の列見出しをダブルクリックする。テキストが強調表示されます。
  2. ORDERNUMBER を以下のテキストに置き換え、Enter を押す。
  3. オーダー番号 Order Number 
    
  4. 前のステップを繰り返し、その他の列見出しを以下のテキストに変更する。
  5. 注文日 
    支払日 
    チェック番号 
    金額 
    
    報告書レイアウトは、図 13-23 のようになります。

    図 13-23 レポート設計内の編集された列見出し
  6. レポートをプレビューする。レポートは、図 13-24 のようになります。
  7. 図 13-24 レポート・プレビューの編集された列見出し

日付形式の変更

日付データ型のデータ要素を挿入すると、BIRT レポート・デザイナーはシステムのロケール設定に従って日付を表示します。BIRT レポート・デザイナーは、デフォルト・フォーマットを使用しない場合に選択できる多くの異なる日付フォーマットを提供します。このプロシージャーでは、ORDERDATE および PAYMENTDATE 値のフォーマットを Jun 3, 2005 12:00 AM から 6/3/05 に変更するスタイルを作成します。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. [ORDERDATE] を表示するデータ要素を選択する。
  3. メインメニューから「要素」->「新規スタイル」を選択する。「新規スタイル」を選択すると、図 13-25 に示すようにスタイルに設定できるプロパティーが表示されます。
  4. 図 13-25 新規スタイル
  5. 「カスタム・スタイル」に対して、以下を入力する。
  6. Date_data 
    
  7. 左側のスタイル・プロパティーのリストから「日時のフォーマット」を選択する。
  8. ドロップダウン・リストから m/d/yy フォーマットを選択する。ドロップダウン・リストの値は現在日付に動的に更新されます。
  9. 「OK」を選択する。
  10. Date_data スタイルは、図 13-26 に示すように [ORDERDATE] データ要素に適用されます。

    図 13-26 データ要素に適用された Date_data スタイル
  11. Date_data スタイルを支払日データ要素に適用する。
    1. 図 13-27 に示すように [PAYMENTDATE] を表示するデータ要素を選択する。
    2. 図 13-27 選択された [PAYMENTDATE] 要素
    3. 選択した要素を右クリックし、「スタイル」->「スタイルの適用」->「Date_data」を選択する。
  12. レポートをプレビューする。日付は Jun 3, 2005 12:00 AM フォーマットから 6/3/05 に変更されています。

数字フォーマットの変更

整数データ型のデータ要素を挿入すると、BIRT レポート・デザイナーはシステムのロケール設定に従って数値を表示します。BIRT レポート・デザイナーは、デフォルト・フォーマットを使用しない場合に選択することができる多くの異なる数字フォーマットを提供します。 このプロシージャーでは、金額値フォーマットを 48425.69 から $48,425.69 に変更するスタイルを作成します。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. 支払い表に [AMOUNT] を表示するデータ要素を選択する。
  3. メインメニューから「要素」->「新規スタイル」を選択する。「新規スタイル」を選択すると、一般カテゴリーのプロパティーが表示されます。
  4. 「カスタム・スタイル」として、以下を入力する。
  5. Currency_data 
    
  6. 左側のスタイル・プロパティーのリストから「数字のフォーマット」を選択する。
  7. 図 13-28 に示すように以下のフォーマット属性を指定する。
    • 「数字をフォーマット」に、ドロップダウン・リストから「通貨」を選択する。
    • 小数点以下の桁数として、デフォルト値 2 を使用する。
    • 「1000 毎にセパレーター付ける」を選択する。
    • 「シンボル」として、ドロップダウン・リストから $ を選択する。
    • その他の属性にはデフォルト値を使用する。
    • 図 13-28 「数字のフォーマット」プロパティー
  8. 「OK」を選択する。Currency_data スタイルは、プロパティー・エディターの要素の「スタイル」プロパティーによって示されるように、[AMOUNT] データ要素に適用されます。
  9. レポートをプレビューする。数字は、図 13-29 に示すように通貨フォーマットで表示されます。
  10. 図 13-29 レポート・プレビューの通貨フォーマット

要素間の垂直方向のスペースを増やす

このプロシージャーでは、各お客様の名前とその前後の行の間のスペースを増やします。要素間の垂直方向のスペースを複数の方法で調整することができます。

グリッドを使用したフォーマットは簡単であり、予測可能正の高い結果を提供します。余白およびマージン・プロパティー値によっては、Web ブラウザーが異なると結果が異なることがあります。このプロシージャーでは、3 番目の方法を使用します。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. 以下のステップを実行することにより、[CUSTOMERNAME] データ要素を 2 つのテーブルを含むグリッドに配置する。
    1. グリッドを選択する。「グリッド」タブが表示されるまでマウス・ポインターを左下隅に移動して、タブを選択します。選択したグリッドの上部と左側にガイド・セルが表示されます。
    2. レイアウト・エディターは、個別のデータ要素、グリッド、テーブル、およびセルの境界線を表示し、要素がどこに配置されるのかがわかりにくい場合があります。 コンテナーおよびコンテナー内の要素をはっきり確認したい場合は、「アウトライン」ビューを使用してレポート設計のツリー・ビューを取得します。選択することが難しい場合、「アウトライン」ビューを使用して特定の要素を選択することもできます。例えば、グリッド内のテーブルではなくグリッドを選択することが難しい場合があります。「アウトライン」ビューを開くには、「ウィンドウ」->「ビューの表示」->「アウトライン」を選択します。
    3. グリッドの最初の行の左側のガイド・セルを右クリックし、図 13-30 に示すように「挿入」->「行」->「上」を選択する。
    4. 図 13-30 新規行の挿入
      新規行が選択した行の上に表示されます。
    5. 図 13-31 に示すように [CUSTOMERNAME] データ要素を現在のロケーションから新規グリッド行の最初のセルに移動する。
    6. 図 13-31 新規行に移動されたデータ要素
  3. 前に説明したプロシージャーを使用して新規グリッド行を [CUSTOMERNAME] データ要素を含む行の上と下に追加する。
  4. 図 13-32 に示すようにグリッドを選択し、グリッドの最初の行を選択する。
  5. 図 13-32 最初の行の選択
  6. 図 13-33 に示すようにプロパティー・エディターの「一般」プロパティーで、行の高さを 0.2 インチに設定する。
  7. 図 13-33 行の高さプロパティーの設定
  8. グリッドの 3 番目の行を選択し、その高さを 0.1 インチに設定する。レポート設計は、図 13-34 のようになります。
  9. 図 13-34 レポート設計の新規行高さ
  10. レポートをプレビューする。お客様の名前の上と下にさらに大きいスペースがあります。レポートは、図 13-35 のようになります。
  11. 図 13-35 追加されたスペースを示すレポート・プレビュー

注文表と支払い表の間の水平スペースを増やす

このプロシージャーでは、注文表と支払い表の間のスペースを増やします。水平スペースと同様に、要素間の水平スペースを複数の方法で調整することができます。

繰り返しになりますが、グリッドを使用したフォーマットは簡単であり、予測可能正の高い結果を提供します。余白およびマージン・プロパティー値によっては、Web ブラウザーが異なると結果が異なることがあります。このプロシージャーでは、3 番目の方法を使用します。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. グリッドを選択する。「グリッド」タブが表示されるまでマウス・ポインターを左下隅に移動して、タブを選択します。選択したグリッドの上部と左側にガイド・セルが表示されます。
  3. 最初の列の上のガイド・セルを右クリックし、図 13-36 に示すように「挿入」->「列の右揃え」を選択する。
  4. 図 13-36 列の挿入
    新規列が最初の列と 3 番目の列の間に表示されます。デフォルトでは、BIRT レポート・デザイナーは同じ幅の列を作成します。
  5. 追加したばかりの列を選択し、図 13-37 に示すようにプロパティー・エディターを使用してその幅を 0.4 インチに設定する。
  6. 図 13-37 列幅の設定
    2 番目の列の幅が小さくなります。
  7. レポートをプレビューする。
  8. 図 13-38 に示すように注文表と支払い表の間のスペースが広くなります。

    図 13-38 テーブル間の追加されたスペースを示すレポート・プレビュー

表のまわりの境界線を追加する

このプロシージャーでは、注文表と支払い表のまわりの境界線を追加し、2 つの別のサブレポートであることを明確に識別します。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. 注文表を選択する。「テーブル」タブが表示されるまでマウス・ポインターを左下隅に移動して、タブを選択します。選択したテーブルの上部と左側にガイド・セルが表示されます。
  3. プロパティー・エディターで「境界線」を選択し、境界線プロパティーを設定する。
    • 「スタイル」を実線に設定する。
    • 図 13-39 に示すようにテーブルのまわりに境界線を追加するためにすべてのボタンを選択する。
    • 図 13-39 テーブルへの境界線の追加
  4. 前のステップを繰り返し、支払い表のまわりに境界性を描画する。
  5. レポートをプレビューする。レポートは、図 13-40 のようになります。
  6. 図 13-40 レポート・プレビューにおけるテーブルのまわりの境界線

表境界線と内容の間のスペースを増やす

テーブルの上部と左側の境界線がテーブルの内容に近すぎます。この手順では、上部と左側の境界線と内容の間のスペースを増やします。

  1. 「レイアウト」を選択し、レイアウト・エディターに戻る。
  2. 注文表のグループ・ヘッダー行の最初のセルを選択する。図 13-41 に示すようにセルを注意して選択します。セル内のデータ要素は選択しないでください。
  3. 図 13-41 セルの選択
    プロパティー・エディターに表示されるタイトルは、選択した要素の名前を示します。以下のテキストが表示されることを確認します。
    「プロパティー・エディター」 - 「セル」 
    
  4. プロパティー・エディターで「余白」プロパティーを選択し、「上部」と「左」を 6 ポイントに設定する。
  5. 図 13-42 はこれらのプロパティー設定を示します。

    図 13-42 プロパティー・エディターのセル内の余白プロパティー
    図 13-43 に示すようにレイアウト・エディターで、セルの上部と左側に追加のスペースが表示されます。

    図 13-43 レポート設計のセル内の余白
  6. フォーマットしたセルの横のセルを選択し、上部と左側の余白プロパティーを 6 ポイントに設定する。
  7. 詳細行の 2 つのセルを選択し、左の余白プロパティーを 6 ポイントに設定する。
  8. 支払い表の同じ位置にあるセルを選択し、注文表のセルに使用した同じ設定を適用する。
  9. レポートをプレビューする。レポートは、図 13-44 のようになります。
  10. 図 13-44 レポート・プレビューで示されるテーブル内のスペースが広くなります。


 (c) Copyright Actuate Corporation 2006

前のトピック次のトピック