ヘッダーをスキップ

Oracle Reports レポート作成ガイド
10gリリース2(10.1.2)
B25068-01
目次
目次
索引
索引

戻る 次へ

13
グループ左サマリー・レポートの作成

この章では、グループ左サマリー・レポートについて学習します。この章の手順に従うと、図13-1に示すようなレポート出力を生成できます。

図13-1    グループ左サマリー・レポートの出力


画像の説明

概要

データ・リレーションシップ
レイアウト

使用例

この例では、売上データを顧客別に表示および集計するレポートを作成します。このレポートには、顧客ごとに次のサマリーを入れます。

このサンプル・レポートの作成過程では、次を行います。

マスター/ディテール・サマリー・レポートのサンプルを表示するには、サンプル・フォルダmasterdetailsummaryを開き、Oracle Reportsのサンプルmasdtmsb.rdfを開きます。アクセス方法の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。

13.1 この例の前提条件

この章の例を作成するには、Summit Sporting Goods(SUMMIT)スキーマに対するアクセス権が必要です。このスキーマをインストールするSQLスクリプトをダウンロードするには、「はじめに」の「データ・ソースへのアクセス」を参照してください。

13.2 手動での新規レポートの作成

この場合、データ・モデルとレイアウトを別々に作成した方が簡単です。したがって、まず空のレポートを作成してから、問合せを追加し、レイアウトを作成します。

空のレポートを作成するには:

  1. Reports Builderを起動します。すでに起動している場合は、「ファイル」→「新規」→「レポート」を選択します。

  2. 「ようこそ」ダイアログ・ボックスまたは「新規レポート」ダイアログ・ボックスで、「新規レポートを手動で作成」を選択して「OK」をクリックします。

13.3 データ・リンクを含むデータ・モデルの作成

複数の問合せを使用するレポートを作成する場合、最初にすべての問合せをデータ・ウィザードで作成して、次にレポート・ウィザードを使用してレイアウトを作成する方が簡単です。

問合せを作成するには:

  1. データ・モデル・ビューで、「挿入」→「問合せ」を選択してデータ・ウィザードを表示します。

  2. 「ようこそ」ページが表示されたら、「次へ」をクリックします。

  3. 「問合せ」ページで、「問合せ名」にQ_Customerと入力し、「次へ」をクリックします。

  4. 「データ・ソース」ページで、「SQL問合せ」を選択し、「次へ」をクリックします。

  5. 「データ」ページの「データ・ソース定義」フィールドに次のSELECT文を入力します。

    SELECT CUSTID, NAME
    FROM CUSTOMER
    ORDER BY NAME
    


    注意

    この問合せは、次のいずれかの方法で入力できます。

    • 提供されているテキスト・ファイルmasdtmsb_code.txtからコードをコピーして「データ・ソース定義」フィールドに貼り付けます。

    • 「クエリー・ビルダー」をクリックして、コードを入力せずに問合せを作成します。

    • 「データ・ソース定義」フィールドにコードを入力します。

     

  6. 「次へ」をクリックします。


    注意

    データベースにまだ接続していない場合は、「クエリー・ビルダー」または「次へ」をクリックしたときに、データベースに接続するよう求められます。この例に該当するスキーマが含まれるデータベースに接続してください。第13.1項「この例の前提条件」に、この例のサンプル・スキーマの要件に関する説明があります。 


  7. 「グループ」ページで「次へ」をクリックします。

  8. 「終了」をクリックして、データ・モデル・ビューに最初の問合せを表示します。

  9. 前述の手順を2番目の問合せにも繰り返しますが、この場合、問合せ名はQ_Itemとし、次のSELECT文を使用します。

    SELECT CUSTID, DESCRIP, ITEMTOT, ORDERDATE,
    ITEM.ORDID
    FROM ORD, PRODUCT, ITEM
    WHERE ITEM.ORDID = ORD.ORDID
    AND ITEM.PRODID = PRODUCT.PRODID
    ORDER BY CUSTID, DESCRIP, ORDERDATE
  10. データ・ウィザードの「グループ」ページで次の操作を行います。

    • 「CUSTID1」をクリックし、「>」ボタンをクリックして、このフィールドを「グループ・フィールド」リストに移動します。

    • 「DESCRIP」フィールドにも同じ手順を繰り返します。

      図13-2    データ・ウィザードのグループ・ページ


      画像の説明

  11. 「次へ」をクリックします。

  12. 「合計」ページで「ITEMTOT」をクリックし、「合計」をクリックします。

  13. 「終了」をクリックして、レポートのデータ・モデルをデータ・モデル・ビューに表示します。表示は次のようになります。

    図13-3    2つの問合せを使用するデータ・モデル(サマリーあり)


    画像の説明

データ・リンクを追加するには:

  1. データ・モデル・ビューで、ツール・パレットの「データ・リンク」ツールをクリックします。

  2. G_CUSTIDグループの「CUSTID」列をクリックし、G_CUSTID1グループの「CUSTID1」列までドラッグします。G_CUSTIDグループの下からQ_Item問合せに線が描かれるのがわかります。CUSTIDとCUSTID1のラベルがこの線の両端に作成され、CUSTIDとCUSTID1が、Q_ItemにG_CUSTIDをリンクさせる列であることを示します。

    図13-4    2つの問合せを使用するデータ・モデル(データ・リンクあり)


    画像の説明

  3. 新しいデータ・リンクの線をダブルクリックしてプロパティ・インスペクタを表示し、プロパティの設定を調べます。

    • G_CUSTIDは親として識別され、Q_Itemは子として示されます。データに関しては、顧客の識別子と名前でマスター・レコードが構成され、Q_Item問合せで取得された関連品目注文情報に対して1度出力されます。

    • 「SQL句」プロパティにWHEREがすでに表示されています。WHEREは、マスター/ディテール・リレーションシップで使用されるデフォルトの句です。WHEREは、HAVINGやSTART WITHなど、他のSQL句に置換できますが、このレポートではWHEREが正しいデフォルトです。

    • また、等号(=)が「条件」プロパティに表示されていることにも注意してください。等式(つまりtable1.columnname = table2.columnname)は、データ・リンクによって定義されたマスター/ディテール・リレーションシップのデフォルトの条件です。等号はサポートされている他の条件演算子に置換できます。サポートされている条件演算子を確認するには、このフィールドをクリックしてください。ただし、このレポートではデフォルトの条件が適切です。

13.4 ペーパー・レイアウト・ビューによる2つのレイアウトの作成

データ・モデルが完成したら、レポート出力で表示するデータ・オブジェクトのレイアウトを作成する必要があります。このレポートは、次の2つの別個のレイアウトで構成されます。

2つのレイアウトが必要な場合、最初のレイアウトはレポート・ウィザードで作成し、2番目のレイアウトはレポート・ブロックを挿入して作成する必要があります。このアプローチをとるのは、レポート・ウィザードではレイアウトの内容がすべて上書きされるためです。したがって、レポート・ウィザードで作成できるのは最初のレイアウトのみです。追加のレイアウトは、レポート・ブロックを挿入して作成する必要があります。

最初のレイアウトを作成するには:

  1. 「ツール」→「レポート・ウィザード」を選択します。

  2. 「レポート・タイプ」ページで、「ペーパー・レイアウトのみ作成」を選択します。

  3. 「スタイル」ページで「グループ左」を選択します。

  4. 「グループ」ページで、データ・モデルのグループがすべて「表示グループ」リストに表示されていることを確認します。

  5. 「フィールド」ページで、列名と「>」または「<」ボタンをクリックして列を移動し、次の列が「表示フィールド」リストに表示されるようにします。

    • NAME

    • DESCRIP

    • ITEMTOT

    • ORDERDATE

      図13-5    レポート・ウィザードの「フィールド」ページ


      画像の説明

  6. 「ラベル」ページで、ラベルとフィールド幅を次のように変更します。

    表13-1    「ラベル」ページのフィールドの説明 
    フィールド  ラベル   

    NAME 

    (変更なし) 

    15 

    DESCRIP 

    Product 

    20 

    Itemtot 

    (変更なし) 

    (変更なし) 

    Orderdate 

    (変更なし) 

    (変更なし) 

  7. 「テンプレート」ページの「事前定義テンプレート」で「Beige」を選択し、「終了」をクリックして、ペーパー・デザイン・ビューにレポート出力を表示します。表示は次のようになります。

    図13-6    2つのグループ列を使用したグループ左レイアウトのペーパー・デザイン・ビュー


    画像の説明

2番目のレイアウトを作成するには:

  1. ツールバーの「ペーパー・レイアウト」ボタンをクリックして、ペーパー・レイアウト・ビューを表示します。

  2. ペーパー・レイアウト・ビューで、ツール・パレットの「レポート・ブロック」ツールをクリックします。

  3. 既存のレイアウトの約0.5インチ(1.5 cm)ほど下を起点にクリックし、ドラッグして縦約2インチ(5 cm)、横4インチ(19 cm)ほどのボックスを描きます。マウス・ボタンを放すと、レポート・ブロック・ウィザードが表示されます。

  4. レポート・ブロック・ウィザードの「スタイル」ページで、「表形式」を選択して「次へ」をクリックします。

  5. 「グループ」ページで「G_CUSTID1」をクリックし、「下」をクリックして印刷方向を指定します。このグループを「表示グループ」リストに移動し、「次へ」をクリックします。ここまで終了すると、「表示グループ」リストに表示されるグループはG_CUSTID1のみとなります。

  6. 「フィールド」ページで、次のフィールドをクリックしてから「>」ボタンをクリックし、それらのフィールドを「表示フィールド」リストに移動して「次へ」をクリックします。

    • DESCRIP

    • SumITEMTOTPerCUSTID1

    ここまで終了すると、「表示フィールド」リストに表示されるフィールドは、DESCRIPおよびSumITEMTOTPerCUSTID1のみとなります。

  7. 「ラベル」ページで、ラベルを次のように変更し、「次へ」をクリックします。

    表13-2    フィールドの説明 
    フィールド  ラベル 

    DESCRIP 

    Product 

    SumITEMTOTPerCUSTID1 

    Sum Total 

  8. 「テンプレート」ページの「事前定義テンプレート」で「Beige」を選択し、「終了」をクリックして、ペーパー・デザイン・ビューにレポート出力を表示します。

13.5 2つのレイアウトのマージ

2つのレイアウトを作成しただけでは、求める結果の一部しか実現していません。購入品の製品別サマリーは、マスター/ディテール・レイアウトの外側にあります。したがって、このサマリーでは、顧客ごとの製品の購入品ではなく、レポート全体における製品の購入品が集計されます。顧客ごとのサマリーを表示するには、最初のレイアウトの内側に2番目のレイアウトを移動する必要があります。

2番目のレイアウトと最初のレイアウトをマージするには:

  1. オブジェクト・ナビゲータで、「M_G_CUSTID1_GRPFR1」を選択します。

    ヒント

    オブジェクト・ナビゲータの上部にある「検索」フィールドに枠の名前を入力するだけで、この枠は見つけやすくなります。 

  2. レポート・エディタのタイトル・バーをクリックして、ペーパー・レイアウト・ビューに戻ります。2番目のレイアウト周囲の枠が選択されているのがわかります。

  3. 矢印キーを使用して最初のレイアウトの「F_DESCRIP」フィールドと揃うように2番目のレイアウトの「F_DESCRIP1」フィールドの位置を変更します。

  4. ツールバーの「制限オフ」ボタンをクリックします。フレックス・モードがオンになっているのを確認します(デフォルトはオン)。

  5. オブジェクト・ナビゲータで、「R_G_CUSTID」を選択します。

  6. レポート・エディタのタイトル・バーをクリックして、ペーパー・レイアウト・ビューに戻ります。今度は、最初のレイアウトのマスター繰返し枠が選択されているのがわかります。

  7. R_G_CUSTIDの下中央のハンドルをクリックし、約0.5インチ(1.5 cm)ほど下にドラッグします。フレックス・モードがオンになっているので、ドラッグするにつれてR_G_CUSTIDを囲む枠が大きくなります。同様に、上書きされないように2番目のレイアウトが下へ移動します。

  8. R_G_CUSTIDを選択したまま、「ツール」→「プロパティ・インスペクタ」を選択します。

  9. 「枠間の垂直間隔」プロパティを「0.25」に変更します。

  10. オブジェクト・ナビゲータで、「M_G_CUSTID1_GRPFR1」を選択します。

  11. レポート・エディタのタイトル・バーをクリックして、ペーパー・レイアウト・ビューに戻ります。

  12. ペーパー・レイアウト・ビューの上部にあるツールバーを使用して、フレックス・モードをオフにします。

  13. 矢印キーを使用して、M_G_CUSTID1_GRPFR1とその内容を、最初のレイアウトの内側に移動します。

    図13-7    2つのレイアウトが1つにマージされたペーパー・レイアウト・ビュー


    画像の説明

  14. レポート・エディタのツールバーで「ペーパー・デザイン」ボタンをクリックして、ペーパー・レイアウト・ビューを表示します。今度は、顧客ごとに集計表が繰り返し表示されているのがわかります。

    図13-8    2つのレイアウトがマージされたペーパー・デザイン・ビュー


    画像の説明

13.6 フィールドの書式設定

ペーパー・デザイン・ビューで、金額の値が位置合せも金額表示もされていないのがわかります。これらの点は、ペーパー・デザイン・ビューですぐに調整できます。

書式マスクを金額に割り当てるには:

  1. ペーパー・デザイン・ビューで、[Shift]を押しながら「Itemtot」と「Sum Total」の下に表示されている値をクリックします。すべての値が選択されるので、それらのプロパティを同時に変更できます。

  2. ツールバーの「通貨」ボタンをクリックします。すべての値の横に通貨記号が表示されます。

  3. 「10進桁を追加」ボタンを2回クリックします。小数点の右側に少数点以下2桁が追加されます。

  4. フィールドのサイズを変更します。「Itemtot」フィールドの一番右側にあるハンドルをクリックし、左へ約0.5インチ(1.5 cm)ドラッグします。「Sum Total」フィールドに対しても同じ操作を行います。2つのフィールドの右の境界を揃えます。

  5. 「右に整列」ボタンをクリックします。すべての値が右詰めになります。

  6. [Shift]を押しながら「Itemtot」ラベルおよび「Sum Total」ラベルをクリックします。

  7. 「右に整列」ボタンをクリックします。

  8. レポートをmasdtmsb_<自分のイニシャル>.rdfという名前で保存します。

    図13-9    グループ左と表形式を結合したレポートの出力


    画像の説明

13.7 まとめ

これで、すべての作業が完了しました。グループ左サマリー・レポートは正常に作成されました。この章で学習した内容は次のとおりです。

この例で使用されているウィザード、ビュー、プロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。このヘルプは、第3.1.1項「Oracle Reportsオンライン・ヘルプの使用」で説明しているとおり、Reports BuilderまたはOracle Technology Network(OTN)から表示できます。


戻る 次へ
Oracle
Copyright © 2003, 2005 Oracle.

All Rights Reserved.
目次
目次
索引
索引