ヘッダーをスキップ

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

戻る 次へ

19
繰返し枠ごとにページ番号をリセットするレポートの作成

この章では、データの表示どおりにページ番号をリセットするレポートについて学習します。この章の手順に従うと、図19-1に示すようなレポート出力を生成できます。

図19-1    繰返し枠ごとにページ番号がリセットされたレポートの出力


画像の説明

この例では、"Page X of Y"の書式を使用してページの番号付けを行います。最初の番号(X)は、各親レコード(各営業担当者など)の現行ページに対応します。このページ番号は、営業担当者ごとに「1」にリセットされます。したがって、各営業担当者の統計が個別に追跡されます。

2番目の数字(Y)は、各営業担当者の顧客情報を表示するために必要な合計ページ数です。このフィールドも、新しい親レコードごとにリセットされます。

重要な注意: この章の手順では、ペーパー・レイアウトに"Page X of Y Pages"を作成する方法を説明します。Webソースの場合はページ番号付けがないので、この説明は該当しません。

概要

データ・リレーションシップ

図19-1に示しているように、このレポートにはマスター/ディテール・リレーションシップとブレークの両方が含まれます。これによって、2つのレベルでデータが区別されます。いつページ番号をリセットするかは、トップ・レベル(ブレーク)で決定されます。

レイアウト

このレポートでは、マスター/ディテールのレイアウト・スタイルを修正したものを使用します。また、ページ番号に2つの非表示フィールドを作成し、これをボイラープレート・オブジェクトで参照します。これにより、総ページ数を表示するフィールドが適切なサイズになります。次に、「ページ当りの最大レコード数」プロパティでブレーク・グループの繰返し枠の設定を確認し、ページに正しく番号が付けられるようにします。

使用例

この例では、レポートのマージンにページ番号を"Page X of Y Pages"の書式で作成します。ページ番号Xは、1度に1人の営業担当者につき、顧客への売上を計上するページ1枚ごとに1増加します。Yは、営業グループ内のある営業担当者の総ページ数を示し、次の営業担当者のページになるとリセットされます。

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

繰返し枠ごとにページ番号をリセットするサンプル・レポートを表示するには、サンプル・フォルダpagenumを開き、Oracle Reportsのサンプルpagenum.rdfを開きます。このファイルの開き方の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。

19.1 この例の前提条件

19.2 データ・モデルとグループ上レイアウトの作成

この例のように、単一問合せレポートを作成する場合、レポート・ウィザードを使用して、データ・モデルとレイアウトを同時に作成できます。

データ・モデルとグループ上レイアウトを作成するには:

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

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

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

  4. 「レポート・タイプ」ページで、「Webおよびペーパー・レイアウトの両方を作成」を選択し、「次へ」をクリックします。

  5. 「スタイル」ページでレポートのタイトルを入力し、「グループ上」を選択して、「次へ」をクリックします。

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

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

    SELECT ENAME, REPID, CUSTID, NAME, ADDRESS, TRIM(CITY)||',
    '||STATE||'  '||ZIP LOCATION,  AREA||' '||PHONE, CREDITLIMIT
    FROM EMP, CUSTOMER
    WHERE EMPNO = REPID
    ORDER BY REPID
    


    注意

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

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

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

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

     

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


    注意

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


  9. 「グループ」ページで、「使用可能フィールド」リストの「ENAME」をクリックし、「>」ボタンをクリックしてこのフィールドを「グループ・フィールド」リストに移動します。

  10. 「REPID」も「グループ・フィールド」リストに移動して、「次へ」をクリックします。

    図19-2    レポート・ウィザードでのグループ・フィールドの選択


    画像の説明

  11. 「フィールド」ページで「>>」ボタンをクリックして、すべてのフィールドを「表示フィールド」リストに移動します。次に「CUSTID」をクリックし、「<」ボタンをクリックして、それを「使用可能フィールド」リストに戻し、「次へ」をクリックします。

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

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

    フィールド  ラベル   

    ENAME 

    Rep Name 

    10 

    REPID 

    Rep ID 

    6 

    NAME 

    Customer Name 

    20 

    ADDRESS 

    Address 

    20 

    LOCATION 

    Location 

    20 

    AREA_PHONE 

    Area Phone 

    12 

    CREDITLIMIT 

    Credit Limit 

    8 

    図19-3    レポート・ウィザードで指定するラベルと幅


    画像の説明

  14. 「テンプレート」ページで「終了」をクリックして、ペーパー・デザイン・ビューにレポート出力を表示します。

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

19.3 2番目の問合せの追加

ペーパー・デザイン・ビューでは、データが営業担当者ごとにグループ化され、各営業担当者の下に顧客データがリストされます。

図19-4    ペーパー・デザイン・ビューのレポート・レイアウト


画像の説明

データはすべて1ページに表示され、各顧客の個別の売上トランザクションはまだ表示されていません。これを表示するには、データ・モデルにもう1つ問合せを追加する必要があります。

レポートに新しい問合せを追加するには:

  1. ツールバーの「データ・モデル」ボタンをクリックします。

  2. データ・モデル・ビューで、ツール・パレットの「SQL問合せ」ツールをクリックし、問合せQ_1の右にあるデータ・モデル・ビューの空いている場所をクリックして、「SQL問合せ文」ダイアログ・ボックスを表示します。

  3. 「SQL問合せ文」フィールドに、次のSELECT文を入力します。

    SELECT CUSTID,PRODNAME,AMOUNT
    FROM SALES
    ORDER BY CUSTID
    
    
  4. 「OK」をクリックして、データ・モデル・ビューに新しい問合せを表示します。

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

  6. 十字カーソルを使用してG_NAMEグループの「CUSTID」をクリックし、カーソルをG_custid1グループの「custid1」までドラッグしてマウス・ボタンを放し、2つのグループ間で「CUSTID」フィールドと「custid1」フィールドをリンクします。

  7. レポート・エディタのウィンドウをオブジェクト・ナビゲータの横に配置し、どちらも同時に表示できるようにします。

  8. オブジェクト・ナビゲータの「データ・モデル」ノードで、「グループ」ノードを開きます。次に、「ペーパー・レイアウト」ノードで、「メイン・セクション」ノードを開きます。この2つの構造を比較すると、データ・モデルでは問合せQ_2を追加すれば新しいデータが使用できるのに対し、ペーパー・レイアウトでは、設定を変更しないかぎり、新しいデータは使用されません。このため、次の手順を実行します。

19.4 レイアウトのデフォルトの再設定

追加の問合せデータを使用できるようにレイアウトのデフォルトを再設定するには:

  1. オブジェクト・ナビゲータでレポート名をクリックします。

  2. 「ツール」→「レポート・ウィザード」を選択して、ウィザードを再実行します。

  3. レポート・ウィザードの「グループ」ページで、「使用可能グループ」リストの「G_custid1」をクリックし、「下」をクリックして印刷方向を指定し、このグループを「表示グループ」リストに移動します。

  4. 「フィールド」ページで、「使用可能フィールド」リストの「prodname」と「amount」をクリックし、「>」ボタンをクリックして、これらのフィールドを「表示フィールド」リストに移動します。

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

    フィールド  ラベル   

    prodname 

    Product Name 

    30 

    amount 

    Amount 

    9 

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

    図19-5    変更後のレポート・レイアウトのペーパー・デザイン・ビュー


    画像の説明

データは営業担当者ごとにグループ化され、各営業担当者の下に顧客データがリストされています。ただしここでは、各顧客の下に、販売した個別の製品がリストされています。レポートはこれで複数ページになりました。

19.5 プロパティの設定とフィールドの書式設定

プロパティを設定し、レポートのフィールドを書式設定するには:

  1. オブジェクト・ナビゲータで、「ペーパー・レイアウト」ノードをクリックし、ツールバーの「すべて拡張」ボタンをクリックします。

  2. 「R_G_ENAME」ノードの横にある繰返し枠アイコンをダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。

    • 「繰返し枠」で、「ページ当りの最大レコード数」プロパティを「1」に設定します。

  3. オブジェクト・ナビゲータで、「R_G_CUSTID1」ノードの横にある繰返し枠アイコンをダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。

    • 「繰返し枠」で、「枠間の垂直間隔」プロパティを「0.25」に設定し、繰返し枠のインスタンス間、つまり、各顧客レコードの間の垂直間隔を0.25インチ(0.5 cm)に指定します。

    • 「標準レイアウト」で、「ページ保護」プロパティを「はい」に設定し、繰返し枠の最初のインスタンス(つまり、最初の顧客レコード)がすべて同じ論理ページに収まるように指定します。

  4. オブジェクト・ナビゲータで、「F_CREDITLIMIT」ノードをクリックし、[Ctrl]を押しながら「F_AMOUNT」をクリックして、両方のノードを選択します。

  5. ツールバーの「ペーパー・デザイン」ボタンをクリックしてペーパー・デザイン・ビューをアクティブ・ウィンドウにし、「F_CREDITLIMIT」フィールドおよび「F_AMOUNT」フィールドを選択して、書式を変更します(ツールバーの対応するボタンをクリックすることもできます)。

    • 「書式」→「数値」→「通貨」を選択します。

    • 「書式」→「数値」→「10進桁を追加」を選択します。

    • 「書式」→「数値」→「10進桁を追加」を選択します(小数点以下2桁にするために再度選択します)。

    • 「書式」→「文字の割付け」→「右詰め」を選択します。

  6. ペーパー・デザイン・ビューで、「Amount」ラベル(列ヘッダー)をクリックし、「書式」→「文字の割付け」→「右詰め」を選択します。

19.6 新しいフィールドの作成

レポートのページ番号に新しいフィールドを作成するには:

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

  2. ペーパー・レイアウト・ビューでツールバーの「マージン編集」ボタンをクリックして、レポートのマージン領域を表示します。次のように、上のマージンに2つのページ番号フィールドを作成します。

    図19-6    レポートの上のマージンのページ番号ソース・フィールド


    画像の説明

  3. ツール・パレットの「フィールド」ツールをクリックし、マージンの中央に2文字ほどの長さのフィールドを描画します。

  4. 新しいフィールド・オブジェクト(F_1)をダブルクリックして、プロパティ・インスペクタを表示し、次のプロパティを設定します。

    • 「一般情報」で、「名前」プロパティを「F_TOTAL_PAGENO」に設定します。

    • 「フィールド」で、「ソース」プロパティを「総ページ数」に設定し、「可視」プロパティを「いいえ」に設定します。

    • 「標準レイアウト」で、「水平拡張度」プロパティを「可変」に設定します。

      このフィールドと次に作成するフィールドを非表示にすると、これらを参照した場所でのみ表示されるようになります。水平方向のサイズを「可変」に変更すると、ページ数の増加にあわせてフィールドを拡張できます。

    • 「フィールド」で、「ページ番号付け」プロパティ・フィールドをクリックして、「ページ番号付け」ダイアログ・ボックスを表示します。

      「リセット位置」リストで「R_G_ENAME」をクリックし、「起動位置」と「変更分」の値がどちらも「1」であることを確認し、「OK」をクリックします。

  5. プロパティ・インスペクタを閉じます。

  6. ペーパー・レイアウト・ビューで、「F_TOTAL_PAGENO」フィールドをクリックします。

  7. 「編集」→「コピー」を選択し、「編集」→「貼付け」を選択して、F_TOTAL_PAGENOの横にF_TOTAL_PAGENOと同じディメンションを持つ新しいフィールドを作成します。

  8. 新しいフィールド・オブジェクト(F_TOTAL_PAGENO1)をマージンの空き領域へドラッグします。

  9. 新しいフィールド・オブジェクト(F_TOTAL_PAGENO1)をダブルクリックして、プロパティ・インスペクタを表示し、次の変更を行います。

    • 「一般情報」で、「名前」プロパティを「F_PAGENO」に設定します。

    • 「フィールド」で、「ソース」プロパティを「ページ番号」に設定します。

      これはF_TOTAL_PAGENOの複製なので、「水平拡張度」プロパティと「可視」プロパティはすでに適切に設定されています。

    • 「フィールド」で、「ページ番号付け」プロパティ・フィールドをクリックして、「ページ番号付け」ダイアログ・ボックスを表示します。

      「リセット位置」リストで「R_G_ENAME」をクリックし、「起動位置」と「変更分」の値がどちらも「1」であることを確認し、「OK」をクリックします。

  10. プロパティ・インスペクタを閉じます。

次に、これらのフィールドをテキスト・ボックスで参照し、ページ番号を"Page X of Y Pages"の書式で表示します。

19.7 フィールドの参照

ページ番号フィールドを参照するには:

  1. ペーパー・レイアウト・ビューで、ツール・パレットの「線カラー」ツールをクリックします。

  2. カラー・パレットで、「枠なし」をクリックします。

  3. ツール・パレットの「テキスト」ツールをクリックします。

  4. ページ番号を表示する上のマージンにカーソルを置き、クリックしてボイラープレート・オブジェクトを作成します。

  5. 新しいボイラープレート・オブジェクトに、Page &F_PAGENO of &F_TOTAL_PAGENOと入力します。

    図19-7    レポートの上のマージンのページ番号ソース・フィールドおよび参照フィールド


    画像の説明

    レポート出力では、現行のページ番号がフィールドF_PAGENOを参照するところに表示され、各マスターの総ページ数がフィールドF_TOTAL_PAGENOを参照するところに表示されます。必要に応じて、ページ番号のボイラープレート・テキスト・オブジェクトのサイズを変更して、F_TOTAL_PAGENOの値が切り捨てられないようにします。

  6. レポートを保存して、実行します。最終的なレポート出力は次のようになります。

    図19-8    繰返し枠ごとにページ番号がリセットされたレポートの最終出力


    画像の説明

19.8 まとめ

これで、すべての作業が完了しました。繰返し枠ごとにページ番号をリセットするレポートは、正常に作成されました。この章で学習した内容は次のとおりです。

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


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

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